import type { CliProvider } from "../config.js";
import type { DiarizationMode, EmbeddedVideoMode, FirecrawlMode, LengthArg, MarkdownMode, PreprocessMode, VideoMode, YoutubeMode } from "../flags.js";
import type { OutputLanguage } from "../language.js";
import { type SummaryLengthTarget } from "../prompts/index.js";
export type ResolvedRunSettings = {
    lengthArg: LengthArg;
    firecrawlMode: FirecrawlMode;
    markdownMode: MarkdownMode;
    preprocessMode: PreprocessMode;
    youtubeMode: YoutubeMode;
    timeoutMs: number;
    retries: number;
    maxOutputTokensArg: number | null;
};
export type RunOverrides = {
    firecrawlMode: FirecrawlMode | null;
    markdownMode: MarkdownMode | null;
    preprocessMode: PreprocessMode | null;
    youtubeMode: YoutubeMode | null;
    videoMode: VideoMode | null;
    embeddedVideoMode: EmbeddedVideoMode | null;
    transcriptTimestamps: boolean | null;
    transcriptDiarization: DiarizationMode | null;
    forceSummary: boolean | null;
    timeoutMs: number | null;
    retries: number | null;
    maxOutputTokensArg: number | null;
    transcriber: "auto" | "whisper" | "parakeet" | "canary" | null;
    autoCliFallbackEnabled: boolean | null;
    autoCliOrder: CliProvider[] | null;
};
export type RunOverridesInput = {
    firecrawl?: unknown;
    markdownMode?: unknown;
    preprocess?: unknown;
    youtube?: unknown;
    videoMode?: unknown;
    embeddedVideo?: unknown;
    timestamps?: unknown;
    diarize?: unknown;
    forceSummary?: unknown;
    timeout?: unknown;
    retries?: unknown;
    maxOutputTokens?: unknown;
    transcriber?: unknown;
    autoCliFallback?: unknown;
    autoCliOrder?: unknown;
    autoCliRememberLastSuccess?: unknown;
    magicCliAuto?: unknown;
    magicCliOrder?: unknown;
    magicCliRememberLastSuccess?: unknown;
};
export declare function createEmptyRunOverrides(): RunOverrides;
export declare function resolveSummaryLength(raw: unknown, fallback?: string): {
    lengthArg: LengthArg;
    summaryLength: SummaryLengthTarget;
};
export declare function buildPromptLengthInstruction(lengthArg: LengthArg): string;
export declare function resolveOutputLanguageSetting({ raw, fallback, }: {
    raw: unknown;
    fallback: OutputLanguage;
}): OutputLanguage;
export declare function resolveCliRunSettings({ length, firecrawl, markdownMode, markdown, format, preprocess, youtube, timeout, retries, maxOutputTokens, }: {
    length: string;
    firecrawl: string;
    markdownMode?: string | undefined;
    markdown?: string | undefined;
    format: "text" | "markdown";
    preprocess: string;
    youtube: string;
    timeout: string;
    retries: string;
    maxOutputTokens?: string | undefined;
}): ResolvedRunSettings;
export declare function resolveRunOverrides({ firecrawl, markdownMode, preprocess, youtube, videoMode, embeddedVideo, timestamps, diarize, forceSummary, timeout, retries, maxOutputTokens, transcriber, autoCliFallback, autoCliOrder, autoCliRememberLastSuccess, magicCliAuto, magicCliOrder, magicCliRememberLastSuccess, }: RunOverridesInput, options?: {
    strict?: boolean;
}): RunOverrides;
