import type { FinderName } from './browser/finder';
import { ConvertType, type ConverterOption } from './converter';
import { ResolvableEngine, ResolvedEngine } from './engine';
import { TemplateOption } from './templates';
import { ThemeSet } from './theme';
type Overwrite<T, U> = Omit<T, Extract<keyof T, keyof U>> & U;
interface IMarpCLIArguments {
    _?: string[];
    allowLocalFiles?: boolean;
    author?: string;
    baseUrl?: string;
    'bespoke.osc'?: boolean;
    'bespoke.progress'?: boolean;
    'bespoke.transition'?: boolean;
    browser?: string | string[];
    browserPath?: string;
    browserProtocol?: string;
    browserTimeout?: number;
    configFile?: string | false;
    description?: string;
    engine?: string;
    html?: boolean;
    image?: string;
    images?: string;
    imageScale?: number;
    inputDir?: string;
    jpegQuality?: number;
    keywords?: string;
    notes?: boolean;
    ogImage?: string;
    output?: string | false;
    parallel?: number | boolean;
    pdf?: boolean;
    pdfNotes?: boolean;
    pdfOutlines?: boolean;
    'pdfOutlines.pages'?: boolean;
    'pdfOutlines.headings'?: boolean;
    pptx?: boolean;
    pptxEditable?: boolean;
    preview?: boolean;
    server?: boolean;
    template?: string;
    theme?: string;
    themeSet?: string[];
    title?: string;
    url?: string;
    watch?: boolean;
}
export type IMarpCLIConfig = Overwrite<Omit<IMarpCLIArguments, '_' | 'configFile' | 'bespoke.osc' | 'bespoke.progress' | 'bespoke.transition' | 'pdfOutlines' | 'pdfOutlines.pages' | 'pdfOutlines.headings'>, {
    bespoke?: {
        osc?: boolean;
        progress?: boolean;
        transition?: boolean;
    };
    browser?: 'auto' | FinderName | FinderName[];
    browserProtocol?: 'cdp' | 'webdriver-bidi';
    engine?: ResolvableEngine;
    html?: ConverterOption['html'];
    keywords?: string | string[];
    lang?: string;
    options?: ConverterOption['options'];
    pdfOutlines?: boolean | {
        pages?: boolean;
        headings?: boolean;
    };
    themeSet?: string | string[];
}>;
export declare const DEFAULT_PARALLEL = 5;
export declare class MarpCLIConfig {
    args: IMarpCLIArguments;
    conf: IMarpCLIConfig;
    confPath?: string;
    engine: ResolvedEngine;
    static moduleName: "marp";
    static fromArguments(args: IMarpCLIArguments): Promise<MarpCLIConfig>;
    static isESMAvailable(): boolean;
    private constructor();
    browserManagerOption(): {
        readonly finders: "chrome" | "firefox" | "edge" | ("chrome" | "firefox" | "edge")[] | undefined;
        readonly path: string | undefined;
        readonly protocol: "cdp" | "webDriverBiDi";
        readonly timeout: number | undefined;
    };
    converterOption(): Promise<{
        readonly imageScale: number | undefined;
        readonly inputDir: string | undefined;
        readonly output: string | false | undefined;
        readonly parallel: number;
        readonly pdfNotes: boolean;
        readonly pdfOutlines: false | {
            pages: boolean;
            headings: boolean;
        };
        readonly pptxEditable: boolean;
        readonly preview: boolean;
        readonly server: boolean;
        readonly template: string;
        readonly templateOption: TemplateOption;
        readonly themeSet: ThemeSet;
        readonly type: ConvertType;
        readonly allowLocalFiles: boolean;
        readonly baseUrl: string | undefined;
        readonly engine: import("./engine").Engine<typeof Marpit.Marpit>;
        readonly globalDirectives: {
            readonly author: string | undefined;
            readonly description: string | undefined;
            readonly image: string | undefined;
            readonly keywords: string[] | undefined;
            readonly theme: string | undefined;
            readonly title: string | undefined;
            readonly url: string | undefined;
        };
        readonly html: boolean | import("@marp-team/marp-core/types/src/html/allowlist").HTMLAllowList | undefined;
        readonly jpegQuality: number;
        readonly lang: string;
        readonly options: Marpit.Options;
        readonly pages: boolean;
        readonly watch: boolean;
    }>;
    get files(): string[];
    private inputDir;
    private loadConf;
    private loadTheme;
}
export declare const fromArguments: typeof MarpCLIConfig.fromArguments;
export {};
