/** * Model resolution: exact match ("provider/modelId") with fuzzy fallback. */ export interface ModelEntry { id: string; name: string; provider: string; contextWindow?: number; reasoning?: boolean; inputTypes?: string[]; } export interface ModelRegistry { find(provider: string, modelId: string): any; getAll(): any[]; getAvailable?(): any[]; } /** * Resolve a model string to a Model instance. * Tries exact match first ("provider/modelId"), then fuzzy match against all available models. * Returns the Model on success, or an error message string on failure. */ export declare function resolveModel(input: string, registry: ModelRegistry): any | string; export interface ModelPickerSection { label: string; models: ModelPickerItem[]; } export interface ModelPickerItem { value: string; label: string; description: string; } /** * Read ~/.pi/agent/models.json and return providers grouped with their model entries. * Returns empty Map if the file is missing or malformed. */ export declare function scanModelsConfig(): Map; /** * Build picker sections from scanModelsConfig(), prepending an "inherit" option * and appending a "Custom..." option. */ export declare function getModelPickerSections(): ModelPickerSection[]; /** * Resolve a "provider/modelId" string to the human-readable name from models.json. * Falls back to returning modelId as-is if not found. */ export declare function getModelLabel(modelId: string): string;