/**
 * Model validation and utility functions
 */
import { SUPPORTED_MODELS } from '../config/constants.js';
export type ModelName = keyof typeof SUPPORTED_MODELS;
export type ModelProvider = 'xai' | 'anthropic' | 'google' | 'lmstudio' | 'ollama' | 'unknown';
export interface ModelInfo {
    maxTokens: number;
    provider: ModelProvider;
    isSupported: boolean;
}
/**
 * Check if a model is officially supported
 */
export declare function isSupportedModel(model: string): model is ModelName;
/**
 * Get information about a model
 */
export declare function getModelInfo(model: string): ModelInfo;
/**
 * Validate a model name and throw if invalid
 * @param model Model name to validate
 * @param strict If true, only accept officially supported models
 */
export declare function validateModel(model: string, strict?: boolean): void;
/**
 * Get the default model for a provider
 */
export declare function getDefaultModel(provider?: ModelProvider): string;
/**
 * Get a list of all supported models
 */
export declare function getSupportedModels(): ModelName[];
/**
 * Get models by provider
 */
export declare function getModelsByProvider(provider: ModelProvider): string[];
/**
 * Suggest a model based on a partial name (fuzzy matching)
 */
export declare function suggestModel(partial: string): string[];
/**
 * Format model information for display
 */
export declare function formatModelInfo(model: string): string;
