export type OpenAiReasoningEffort = "none" | "low" | "medium" | "high" | "xhigh";
export type OpenAiServiceTier = "default" | "fast" | "priority" | "flex";
export type OpenAiTextVerbosity = "low" | "medium" | "high";
export type ModelRequestOptions = {
    serviceTier?: string;
    reasoningEffort?: OpenAiReasoningEffort;
    textVerbosity?: OpenAiTextVerbosity;
};
export type ModelRequestOptionsInput = ModelRequestOptions & {
    thinking?: OpenAiReasoningEffort;
};
export declare function parseOpenAiReasoningEffort(raw: string, label?: string): OpenAiReasoningEffort;
export declare function parseOpenAiTextVerbosity(raw: string, label?: string): OpenAiTextVerbosity;
export declare function parseOpenAiServiceTier(raw: string, label?: string): OpenAiServiceTier;
export declare function mergeModelRequestOptions(...entries: Array<ModelRequestOptionsInput | null | undefined>): ModelRequestOptions | undefined;
/**
 * Merge request options for a specific provider.
 *
 * - `openaiGlobalDefault` comes from the persisted `openai.*` config block — a
 *   provider-scoped default that must NOT bleed into non-openai requests.
 * - `openaiOverride` comes from `--fast` / `--service-tier`, which are
 *   documented as OpenAI-only knobs. Also only for the openai provider.
 * - `cliReasoningEffortOverride` comes from the explicit `--thinking` CLI flag,
 *   which is cross-provider (the user opted in for this run). It is forwarded
 *   to whichever provider is dispatched.
 * - `attemptOptions` is the per-attempt options bag (from the model config or
 *   provider-prefixed CLI id) and applies to every provider.
 */
export declare function mergeRequestOptionsForProvider({ provider, openaiGlobalDefault, attemptOptions, openaiOverride, cliReasoningEffortOverride, }: {
    provider: string;
    openaiGlobalDefault: ModelRequestOptionsInput | null | undefined;
    attemptOptions: ModelRequestOptionsInput | null | undefined;
    openaiOverride: ModelRequestOptionsInput | null | undefined;
    cliReasoningEffortOverride?: OpenAiReasoningEffort | undefined;
}): ModelRequestOptions | undefined;
export declare function toOpenAiServiceTierParam(serviceTier: string | undefined): string | undefined;
