export interface ClaudeModel {
    name: string;
    value: string;
    description?: string;
    isRecommended?: boolean;
}
export interface ModelManagerConfig {
    includeDeprecated?: boolean;
    includeExperimental?: boolean;
    cacheDuration?: number;
}
export declare class ModelManager {
    private static instance;
    private cachedModels;
    private lastFetch;
    private readonly cacheDuration;
    private readonly knownModels;
    private readonly legacyModels;
    private constructor();
    static getInstance(config?: ModelManagerConfig): ModelManager;
    getAvailableModels(config?: ModelManagerConfig): Promise<ClaudeModel[]>;
    getModelOptions(config?: ModelManagerConfig): Promise<Array<{
        name: string;
        value: string;
    }>>;
    isValidModel(modelValue: string): Promise<boolean>;
    getRecommendedModel(): Promise<ClaudeModel>;
    getModelByValue(value: string): Promise<ClaudeModel | null>;
    private isCacheValid;
    private fetchLatestModels;
    private getKnownModels;
    clearCache(): void;
    getClaudeCommandOptions(model: string): string;
}
export declare const modelManager: ModelManager;
