import { type CliProviderPreset, type ResolvedCliConfig } from './config.js'; export interface ModelChoice { provider: CliProviderPreset; model: string; label?: string; source: 'live' | 'built-in' | 'common' | 'current'; } export interface ModelChoiceList { provider: CliProviderPreset; providerLabel: string; currentModel: string; choices: ModelChoice[]; source: 'live' | 'built-in' | 'common'; configPath?: string; configPathExists?: boolean; usingBundledDefault?: boolean; realModel?: string; warning?: string; } export declare function describeModelListSource(list: ModelChoiceList): string; export interface CustomModelConfig { provider: CliProviderPreset; model: string; baseUrl: string; apiKey: string; } export type CustomModelConfigParseResult = { ok: true; config: CustomModelConfig; } | { ok: false; message: string; }; export declare function parseCustomModelConfigInput(input: string): CustomModelConfigParseResult; export declare function formatCustomModelConfigInstructions(configPath?: string): string; export declare function commonModelChoices(provider: CliProviderPreset, currentModel?: string, options?: { usingBundledDefault?: boolean; configModel?: string; }): ModelChoice[]; export declare function loadModelChoicesForRuntime(config?: Partial, currentModel?: string, options?: { fallbackProvider?: string; timeoutMs?: number; fetchImpl?: typeof fetch; }): Promise; export declare function autoSelectGatewayModel(config: Partial, options?: { timeoutMs?: number; fetchImpl?: typeof fetch; env?: NodeJS.ProcessEnv; }): Promise; export declare function resolveModelSelection(input: string, choices: readonly ModelChoice[]): ModelChoice | null; export declare function formatModelChoices(list: ModelChoiceList): string; export declare function resolveModelContextWindowFromApi(params: { baseUrl?: string; apiKey?: string; model: string; provider?: string; fetchImpl?: typeof fetch; timeoutMs?: number; }): Promise; export declare function resolveContextTokensForModel(params: { model: string; baseUrl?: string; apiKey?: string; provider?: string; explicitOverride?: number; fetchImpl?: typeof fetch; timeoutMs?: number; }): Promise<{ contextTokens: number; source: string; }>; //# sourceMappingURL=model-catalog.d.ts.map