export interface ModelInfo {
    id: string;
    name: string;
    provider: string;
    costTier: 'free' | 'low' | 'medium' | 'high';
    description: string;
    features?: string[];
    pricing?: {
        input: number;
        output: number;
        currency: string;
    };
    context?: number;
    multimodal?: boolean;
}
export interface ModelChooserModalProps {
    isOpen: boolean;
    onClose: () => void;
    selectedModel?: string;
    onModelChange: (modelId: string) => void;
    apiEndpoint?: string;
    fallbackModels?: ModelInfo[];
    theme?: 'light' | 'dark' | 'auto';
    maxHeight?: string;
    maxWidth?: string;
    className?: string;
    categorizeByType?: boolean;
}
export interface OpenRouterModel {
    id: string;
    name: string;
    description: string;
    pricing: {
        prompt: string;
        completion: string;
    };
    context_length: number;
    architecture: {
        modality?: string;
        tokenizer: string;
        instruct_type?: string;
        input_modalities?: string[];
        output_modalities?: string[];
    };
    top_provider: {
        max_completion_tokens?: number;
        is_moderated: boolean;
    };
    per_request_limits?: {
        prompt_tokens?: string;
        completion_tokens?: string;
    };
}
export interface OpenRouterResponse {
    data: OpenRouterModel[];
}
export interface FilterState {
    searchTerm: string;
    selectedProviders: string[];
    selectedCostTiers: string[];
    showMultimodal: boolean;
    hideExperimental: boolean;
}
export interface SortConfig {
    key: keyof ModelInfo | null;
    direction: 'asc' | 'desc';
}
//# sourceMappingURL=index.d.ts.map