import { type ThinkingLevel } from '../types.js'; export interface AvailableModelInfo { ref: string; provider: string; id: string; name: string; reasoning: boolean; supportsXhigh: boolean; } export interface ModelListOptions { forceRefresh?: boolean; allowStale?: boolean; cwd?: string; } export declare function listAvailableModels(options?: ModelListOptions): AvailableModelInfo[]; export declare function hasCachedModelCatalog(cwd: string): boolean; /** * Return the models exposed by pi's configured enabledModels scope. * An absent or empty scope preserves the existing all-available-models behavior. */ export declare function listSelectableModels(options?: ModelListOptions): Promise; export declare function resolveModelReference(ref: string, models?: AvailableModelInfo[]): AvailableModelInfo | undefined; export declare function autocompleteModels(query: string, limit?: number, options?: ModelListOptions): Promise; export declare function isThinkingLevel(value: string): value is ThinkingLevel; export interface ThinkingResolution { requested: ThinkingLevel; effective: ThinkingLevel; adjusted: boolean; reason?: 'non_reasoning' | 'xhigh_to_high'; } export declare function resolveThinkingForModel(model: AvailableModelInfo | undefined, desired: ThinkingLevel): ThinkingResolution; export declare function toModelChoiceName(model: AvailableModelInfo): string; export declare function parsePiModelList(output: string): AvailableModelInfo[];