import type { CliProvider, SummarizeConfig } from "../config.js";
import { parseEmbeddedVideoMode, parseVideoMode } from "../flags.js";
import { type OutputLanguage } from "../language.js";
import type { ModelRequestOptions, OpenAiReasoningEffort } from "../llm/model-options.js";
export type ConfigState = {
    config: SummarizeConfig | null;
    configPath: string | null;
    outputLanguage: OutputLanguage;
    openaiWhisperUsdPerMinute: number;
    videoMode: ReturnType<typeof parseVideoMode>;
    embeddedVideoMode: ReturnType<typeof parseEmbeddedVideoMode>;
    cliConfigForRun: SummarizeConfig["cli"] | undefined;
    configForCli: SummarizeConfig | null;
    openaiUseChatCompletions: boolean | undefined;
    openaiRequestOptions: ModelRequestOptions | undefined;
    openaiRequestOptionsOverride: ModelRequestOptions | undefined;
    cliReasoningEffortOverride: OpenAiReasoningEffort | undefined;
    configModelLabel: string | null;
};
export type RunConfigInput = {
    languageRaw: string | null;
    languageExplicit: boolean;
    videoModeRaw: string;
    videoModeExplicit: boolean;
    embeddedVideoModeRaw: string;
    embeddedVideoModeExplicit: boolean;
    cliFlagPresent: boolean;
    cliProvider: CliProvider | null;
    fast: boolean;
    serviceTierRaw: string | null;
    thinkingRaw: string | null;
};
export declare function createRunConfigInput(overrides?: Partial<RunConfigInput>): RunConfigInput;
export declare function resolveConfigState({ envForRun, input, }: {
    envForRun: Record<string, string | undefined>;
    input: RunConfigInput;
}): ConfigState;
