import { type FirecrawlMode, type DiarizationMode, type LengthArg, type MarkdownMode, type PreprocessMode, parseExtractFormat, parseMaxExtractCharactersArg, parseMetricsMode, parseStreamMode, type YoutubeMode } from "../flags.js";
type Transcriber = "auto" | "whisper" | "parakeet" | "canary";
export type RunnerFlagResolution = {
    videoModeExplicitlySet: boolean;
    embeddedVideoExplicitlySet: boolean;
    lengthExplicitlySet: boolean;
    languageExplicitlySet: boolean;
    noCacheFlag: boolean;
    noMediaCacheFlag: boolean;
    extractMode: boolean;
    json: boolean;
    forceSummary: boolean;
    slidesDebug: boolean;
    streamMode: ReturnType<typeof parseStreamMode>;
    plain: boolean;
    debug: boolean;
    verbose: boolean;
    transcriber: Transcriber;
    diarizationMode: DiarizationMode | null;
    speakerProfileArg: string | null;
    speakerAnchorArgs: string[];
    speakerIdentificationOverride: boolean | null;
    rememberSpeakers: boolean;
    maxExtractCharacters: ReturnType<typeof parseMaxExtractCharactersArg>;
    isYoutubeUrl: boolean;
    format: ReturnType<typeof parseExtractFormat>;
    youtubeMode: YoutubeMode;
    lengthArg: LengthArg;
    maxOutputTokensArg: number | null;
    timeoutMs: number;
    retries: number;
    preprocessMode: PreprocessMode;
    requestedFirecrawlMode: FirecrawlMode;
    markdownMode: MarkdownMode;
    metricsMode: ReturnType<typeof parseMetricsMode>;
    metricsEnabled: boolean;
    metricsDetailed: boolean;
    shouldComputeReport: boolean;
    markdownModeExplicitlySet: boolean;
};
export declare function resolveRunnerFlags({ normalizedArgv, programOpts, envForRun, url, }: {
    normalizedArgv: readonly string[];
    programOpts: Record<string, unknown>;
    envForRun: Record<string, string | undefined>;
    url: string | null;
}): RunnerFlagResolution;
export {};
