export type CodexVerbosity = "low" | "medium" | "high"; export type CacheDiagnosticsMode = "off" | "status" | "status-and-log"; export type AllProvidersMode = "off" | "on" | "extras"; export type HelperModel = "gpt-5.6-luna" | "gpt-5.6-terra" | "gpt-5.6-sol" | "gpt-5.5" | "gpt-5.4-mini" | "gpt-5.3-codex-spark"; export type WebSearchModel = HelperModel; export type V2UserMessageRetention = 16 | 32 | 64; export type DictationShortcutMode = "push" | "toggle"; export declare const VOICE_CONTEXT_REASONING_LEVELS: readonly ["off", "minimal", "low", "medium", "high", "xhigh", "max"]; export type VoiceContextReasoning = (typeof VOICE_CONTEXT_REASONING_LEVELS)[number]; export declare const DEFAULT_VOICE_CONTEXT_REASONING: VoiceContextReasoning; export type VoiceContextModel = { provider: string; modelId: string; }; export declare const REALTIME_V3_VOICES: readonly ["juniper", "maple", "spruce", "ember", "vale", "breeze", "arbor", "sol", "cove"]; export type RealtimeV3Voice = (typeof REALTIME_V3_VOICES)[number]; export declare const WEB_SEARCH_MODELS: readonly WebSearchModel[]; export declare const V2_USER_MESSAGE_RETENTION_OPTIONS: readonly V2UserMessageRetention[]; export interface CodexConversionConfig { voiceFeaturesOnly: boolean; prompt: { heavySystemPromptOverwrite: boolean; }; scope: { allProviders: AllProvidersMode; additionalProviders: string[]; }; tools: { customRustBinariesDir: string; webRun: boolean; imageGeneration: boolean; viewImageFallback: boolean; applyPatchOnly: boolean; viewImageOnly: boolean; webRunOnly: boolean; imageGenerationOnly: boolean; }; ui: { statusLine: boolean; toolRenaming: boolean; compactTools: boolean; codeModeDetails: boolean; backgroundShellWidget: boolean; backgroundShellToggleShortcut: string; backgroundShellPrevShortcut: string; backgroundShellNextShortcut: string; backgroundShellCloseShortcut: string; }; compaction: { responsesCompaction: boolean; }; beta: { codeMode: boolean; responsesLite: boolean; v2UserMessageRetention?: V2UserMessageRetention | undefined; }; voice: { v3Voice: RealtimeV3Voice; dictationShortcut: string; realtimeShortcut: string; muteShortcut: string; serverShortcut: string; dictationShortcutMode: DictationShortcutMode; contextModel?: VoiceContextModel | undefined; contextReasoning: VoiceContextReasoning; inputDevice?: string | undefined; outputDevice?: string | undefined; }; openai: { fast: boolean; verbosity: CodexVerbosity; forceCachedWebSockets: boolean; cacheDiagnostics: CacheDiagnosticsMode; harnessIdentifierHeader: boolean; webSearchModel: WebSearchModel; }; } export declare const DEFAULT_CODEX_CONVERSION_CONFIG: CodexConversionConfig; export declare function isObject(value: unknown): value is Record; export declare function normalizeAllProvidersMode(value: unknown): AllProvidersMode | undefined; export declare function normalizeCodexVerbosity(value: unknown): CodexVerbosity | undefined; export declare function normalizeCacheDiagnosticsMode(value: unknown): CacheDiagnosticsMode | undefined; export declare function normalizeWebSearchModel(value: unknown): WebSearchModel | undefined; export declare function normalizeV2UserMessageRetention(value: unknown): V2UserMessageRetention | undefined; export declare function normalizeDictationShortcutMode(value: unknown): DictationShortcutMode | undefined; export declare function normalizeRealtimeV3Voice(value: unknown): RealtimeV3Voice | undefined; export declare function normalizeProviderList(value: unknown): string[]; export declare function normalizeVoiceContextReasoning(value: unknown): VoiceContextReasoning; export declare function normalizeCustomRustBinariesDir(value: unknown): string; export declare function normalizeCodexConversionConfig(value: unknown): CodexConversionConfig;