/**
 * Model configuration and capabilities for different AI providers
 * Consolidates model-specific logic that was duplicated across providers
 */
export interface ProviderBaseModelConfig {
    complexModel: string;
    standardModel: string;
    mediumModel: string;
    smallModel: string;
    reasoningModel?: string;
    codingModel?: string;
    fallbacks: string[];
    contextWindow?: number;
    maxOutputTokens?: number;
    extendedContext?: number;
    supportsEffortParameter?: boolean;
    supportsToolSearch?: boolean;
    /** Model selects its own thinking depth (`thinking: { type: 'adaptive' }`). */
    supportsAdaptiveThinking?: boolean;
    supportsThinkingLevel?: boolean;
    supportsThoughtSignatures?: boolean;
    requiresAuth?: boolean;
    useV1Api?: boolean;
    supportsThinkingMode?: boolean;
    isHub?: boolean;
    detectDeployments?: boolean;
    detectModels?: boolean;
    supportedProviders?: string[];
    defaultProvider?: string;
    region?: string;
    location?: string;
    hubModels?: Record<string, string[]>;
    commonDeployments?: string[];
}
export interface ResolvedProviderModelConfig {
    complexModel: string;
    standardModel: string;
    mediumModel: string;
    smallModel: string;
    fallbacks: string[];
    availableModels?: string[];
    isHub?: boolean;
    hubInfo?: {
        supportedProviders?: string[];
        defaultProvider?: string;
        hubModels?: Record<string, string[]>;
        commonDeployments?: string[];
    };
}
/**
 * Standard model configurations for each provider
 * Updated January 2026 - Latest models and SDK conventions
 */
export declare const MODEL_CONFIGS: Record<string, ProviderBaseModelConfig>;
/**
 * Get model configuration for a provider with config overrides
 * @param {string} providerName - Name of the provider
 * @param {Object} config - Configuration object with potential overrides
 * @returns {Object} Model configuration with overrides applied
 */
export declare function getProviderModelConfig(providerName: string, config?: Record<string, any>, availableModels?: string[]): ResolvedProviderModelConfig;
/**
 * Model capabilities database
 * Defines what each model family supports
 * Updated January 2026
 */
export declare const MODEL_CAPABILITIES: {
    'gpt-5.6': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        coding_optimized: boolean;
        context_window: number;
        max_output: number;
        flagship: boolean;
    };
    'gpt-5.5': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        context_window: number;
        max_output: number;
    };
    'gpt-5.4': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        context_window: number;
        max_output: number;
    };
    'gpt-5.3-codex': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        coding_optimized: boolean;
        context_window: number;
    };
    'claude-fable-5': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        adaptive_thinking: boolean;
        effort_parameter: boolean;
        coding_optimized: boolean;
        parallel_tool_use: boolean;
        most_capable: boolean;
        context_window: number;
        max_output: number;
    };
    'claude-opus-5': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        adaptive_thinking: boolean;
        effort_parameter: boolean;
        coding_optimized: boolean;
        parallel_tool_use: boolean;
        computer_use: boolean;
        context_window: number;
        max_output: number;
    };
    'claude-sonnet-5': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        adaptive_thinking: boolean;
        effort_parameter: boolean;
        coding_optimized: boolean;
        agentic_coding: boolean;
        context_window: number;
        max_output: number;
    };
    'claude-opus-4-8': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        adaptive_thinking: boolean;
        effort_parameter: boolean;
        coding_optimized: boolean;
        context_window: number;
    };
    'claude-sonnet-4-6': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        adaptive_thinking: boolean;
        effort_parameter: boolean;
        context_window: number;
    };
    'deepseek-v4': {
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        streaming: boolean;
        temperature_control: boolean;
        coding_optimized: boolean;
        context_window: number;
    };
    'gpt-5.2': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        coding_optimized: boolean;
        context_window: number;
        max_output: number;
        flagship: boolean;
    };
    'gpt-5.2-codex': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        coding_optimized: boolean;
        agentic_coding: boolean;
        context_compaction: boolean;
        cybersecurity: boolean;
    };
    'gpt-5': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        context_window: number;
    };
    'gpt-4o': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        previous_generation: boolean;
    };
    'gpt-4.1': {
        prompt_caching: boolean;
        tool_use: boolean;
        json_mode: boolean;
        vision: boolean;
        large_context: boolean;
        coding_optimized: boolean;
        cost_reduction: number;
    };
    o4: {
        reasoning: boolean;
        advanced_reasoning: boolean;
        tool_use: boolean;
        large_context: boolean;
        next_generation: boolean;
    };
    'o4-mini': {
        reasoning: boolean;
        advanced_reasoning: boolean;
        tool_use: boolean;
        large_context: boolean;
        cost_effective: boolean;
    };
    o3: {
        reasoning: boolean;
        advanced_reasoning: boolean;
        tool_use: boolean;
        large_context: boolean;
    };
    o1: {
        reasoning: boolean;
        tool_use: boolean;
        large_context: boolean;
        advanced_reasoning: boolean;
        previous_generation: boolean;
    };
    'claude-opus-4-5': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        hybrid_reasoning: boolean;
        extended_thinking: boolean;
        coding_optimized: boolean;
        parallel_tool_use: boolean;
        effort_parameter: boolean;
        tool_search: boolean;
        most_capable: boolean;
        context_window: number;
        extended_context: number;
    };
    'claude-sonnet-4-5': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        hybrid_reasoning: boolean;
        extended_thinking: boolean;
        coding_optimized: boolean;
        agentic_coding: boolean;
        computer_use: boolean;
        context_window: number;
        extended_context: number;
    };
    'claude-haiku-4-5': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        hybrid_reasoning: boolean;
        extended_thinking: boolean;
        fast_processing: boolean;
        cost_effective: boolean;
        context_window: number;
    };
    'claude-sonnet-4': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        balanced_performance: boolean;
        coding_optimized: boolean;
    };
    'claude-opus-4': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        hybrid_reasoning: boolean;
        extended_thinking: boolean;
        coding_optimized: boolean;
        parallel_tool_use: boolean;
        most_capable: boolean;
    };
    'claude-3.7': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        previous_generation: boolean;
        deprecated: boolean;
    };
    'claude-3.5': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        previous_generation: boolean;
        deprecated: boolean;
    };
    'claude-3': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        deprecated: boolean;
    };
    'gemini-3.6': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        thinking_level: boolean;
        context_window: number;
    };
    'gemini-3.5': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        thinking_level: boolean;
        context_window: number;
    };
    'gemini-3.1': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        thinking_level: boolean;
        context_window: number;
    };
    'gemini-3-pro': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        thinking_level: boolean;
        thought_signatures: boolean;
        agentic_workflows: boolean;
        autonomous_coding: boolean;
        context_window: number;
        most_capable: boolean;
    };
    'gemini-3-flash': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        thinking_level: boolean;
        thought_signatures: boolean;
        fast_processing: boolean;
        pro_level_intelligence: boolean;
        context_window: number;
    };
    'gemini-2.5-pro': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        thinking_mode: boolean;
        context_window: number;
        previous_generation: boolean;
    };
    'gemini-2.5': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        thinking_mode: boolean;
        previous_generation: boolean;
    };
    'gemini-2.0': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        fast_processing: boolean;
        previous_generation: boolean;
    };
    'gemini-1.5': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        large_context: boolean;
        multimodal: boolean;
        deprecated: boolean;
    };
    'llama-4': {
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        open_source: boolean;
        community_license: boolean;
    };
    'llama-3.3': {
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        open_source: boolean;
    };
    'llama-3.2': {
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        open_source: boolean;
        multimodal: boolean;
        lightweight: boolean;
    };
    'llama-3.1': {
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        open_source: boolean;
        previous_generation: boolean;
    };
    qwen3: {
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        thinking_mode: boolean;
        open_source: boolean;
        context_window: number;
        extended_context: number;
    };
    'qwen2.5-coder': {
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        coding_optimized: boolean;
        open_source: boolean;
    };
    'deepseek-r1': {
        reasoning: boolean;
        advanced_reasoning: boolean;
        thinking_mode: boolean;
        json_mode: boolean;
        open_source: boolean;
        cost_effective: boolean;
    };
    'anthropic.claude': {
        vision: boolean;
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        bedrock_hosted: boolean;
    };
    'meta.llama4': {
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        multimodal: boolean;
        open_source: boolean;
        bedrock_hosted: boolean;
    };
    'meta.llama': {
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        open_source: boolean;
        bedrock_hosted: boolean;
    };
    'amazon.titan': {
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        bedrock_hosted: boolean;
        aws_native: boolean;
    };
    'local-model': {
        tool_use: boolean;
        json_mode: boolean;
        reasoning: boolean;
        large_context: boolean;
        offline: boolean;
        privacy_focused: boolean;
    };
};
/**
 * Get capabilities for a specific model
 * @param {string} modelName - Full model name
 * @returns {Object} Model capabilities
 */
export declare function getModelCapabilities(modelName: any): {
    vision?: undefined;
    tool_use?: undefined;
    json_mode?: undefined;
    reasoning?: undefined;
    large_context?: undefined;
    streaming?: undefined;
    temperature_control?: undefined;
    max_tokens_control?: undefined;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    coding_optimized: boolean;
    context_window: number;
    max_output: number;
    flagship: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    context_window: number;
    max_output: number;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    coding_optimized: boolean;
    context_window: number;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    adaptive_thinking: boolean;
    effort_parameter: boolean;
    coding_optimized: boolean;
    parallel_tool_use: boolean;
    most_capable: boolean;
    context_window: number;
    max_output: number;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    adaptive_thinking: boolean;
    effort_parameter: boolean;
    coding_optimized: boolean;
    parallel_tool_use: boolean;
    computer_use: boolean;
    context_window: number;
    max_output: number;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    adaptive_thinking: boolean;
    effort_parameter: boolean;
    coding_optimized: boolean;
    agentic_coding: boolean;
    context_window: number;
    max_output: number;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    adaptive_thinking: boolean;
    effort_parameter: boolean;
    coding_optimized: boolean;
    context_window: number;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    adaptive_thinking: boolean;
    effort_parameter: boolean;
    context_window: number;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    coding_optimized: boolean;
    agentic_coding: boolean;
    context_compaction: boolean;
    cybersecurity: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    context_window: number;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    previous_generation: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    prompt_caching: boolean;
    tool_use: boolean;
    json_mode: boolean;
    vision: boolean;
    large_context: boolean;
    coding_optimized: boolean;
    cost_reduction: number;
    reasoning: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    reasoning: boolean;
    advanced_reasoning: boolean;
    tool_use: boolean;
    large_context: boolean;
    next_generation: boolean;
    vision: boolean;
    json_mode: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    reasoning: boolean;
    advanced_reasoning: boolean;
    tool_use: boolean;
    large_context: boolean;
    cost_effective: boolean;
    vision: boolean;
    json_mode: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    reasoning: boolean;
    advanced_reasoning: boolean;
    tool_use: boolean;
    large_context: boolean;
    vision: boolean;
    json_mode: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    reasoning: boolean;
    tool_use: boolean;
    large_context: boolean;
    advanced_reasoning: boolean;
    previous_generation: boolean;
    vision: boolean;
    json_mode: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    hybrid_reasoning: boolean;
    extended_thinking: boolean;
    coding_optimized: boolean;
    parallel_tool_use: boolean;
    effort_parameter: boolean;
    tool_search: boolean;
    most_capable: boolean;
    context_window: number;
    extended_context: number;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    hybrid_reasoning: boolean;
    extended_thinking: boolean;
    coding_optimized: boolean;
    agentic_coding: boolean;
    computer_use: boolean;
    context_window: number;
    extended_context: number;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    hybrid_reasoning: boolean;
    extended_thinking: boolean;
    fast_processing: boolean;
    cost_effective: boolean;
    context_window: number;
    large_context: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    balanced_performance: boolean;
    coding_optimized: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    hybrid_reasoning: boolean;
    extended_thinking: boolean;
    coding_optimized: boolean;
    parallel_tool_use: boolean;
    most_capable: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    previous_generation: boolean;
    deprecated: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    deprecated: boolean;
    reasoning: boolean;
    large_context: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    thinking_level: boolean;
    context_window: number;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    thinking_level: boolean;
    thought_signatures: boolean;
    agentic_workflows: boolean;
    autonomous_coding: boolean;
    context_window: number;
    most_capable: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    thinking_level: boolean;
    thought_signatures: boolean;
    fast_processing: boolean;
    pro_level_intelligence: boolean;
    context_window: number;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    thinking_mode: boolean;
    context_window: number;
    previous_generation: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    thinking_mode: boolean;
    previous_generation: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    fast_processing: boolean;
    previous_generation: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    large_context: boolean;
    multimodal: boolean;
    deprecated: boolean;
    reasoning: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    open_source: boolean;
    community_license: boolean;
    vision: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    open_source: boolean;
    vision: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    open_source: boolean;
    multimodal: boolean;
    lightweight: boolean;
    vision: boolean;
    large_context: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    open_source: boolean;
    previous_generation: boolean;
    vision: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    thinking_mode: boolean;
    open_source: boolean;
    context_window: number;
    extended_context: number;
    vision: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    coding_optimized: boolean;
    open_source: boolean;
    vision: boolean;
    large_context: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    reasoning: boolean;
    advanced_reasoning: boolean;
    thinking_mode: boolean;
    json_mode: boolean;
    open_source: boolean;
    cost_effective: boolean;
    vision: boolean;
    tool_use: boolean;
    large_context: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    bedrock_hosted: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    multimodal: boolean;
    open_source: boolean;
    bedrock_hosted: boolean;
    vision: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    open_source: boolean;
    bedrock_hosted: boolean;
    vision: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    bedrock_hosted: boolean;
    aws_native: boolean;
    vision: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    offline: boolean;
    privacy_focused: boolean;
    vision: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
} | {
    vision: boolean;
    tool_use: boolean;
    json_mode: boolean;
    reasoning: boolean;
    large_context: boolean;
    streaming: boolean;
    temperature_control: boolean;
    max_tokens_control: boolean;
};
/**
 * Get suggested alternative models for a provider
 * @param {string} providerName - Provider name
 * @param {string} unavailableModel - Model that's not available
 * @returns {Array<string>} Suggested alternative models
 */
export declare function getSuggestedModels(providerName: any, unavailableModel: any): string[];
/**
 * Check if a model supports a specific capability
 * @param {string} modelName - Model name to check
 * @param {string} capability - Capability to check for
 * @returns {boolean} Whether the model supports the capability
 */
export declare function modelSupports(modelName: any, capability: any): boolean;
/**
 * Get the best model for a specific use case
 * @param {string} providerName - Provider name
 * @param {Array<string>} requiredCapabilities - Required capabilities
 * @param {Object} config - Configuration with model overrides
 * @returns {string} Best model name for the use case
 */
export declare function getBestModelForCapabilities(providerName: any, requiredCapabilities?: any[], config?: Record<string, any>): string;
/**
 * Get all hub providers and their status
 * @returns {Array<Object>} Hub provider information
 */
export declare function getAllHubProviders(): {
    name: string;
    defaultProvider: string | undefined;
    supportedProviders: string[];
    modelCount: number;
    region: string | undefined;
    location: string | undefined;
    detectDeployments: boolean | undefined;
    detectModels: boolean | undefined;
}[];
/**
 * Analyze commit complexity and recommend model tier
 * @param {Object} commitInfo - Commit analysis information
 * @param {string} providerName - Provider name
 * @returns {Object} Model recommendation with reasoning
 */
export declare function analyzeCommitComplexity(commitInfo: any, providerName: any): {
    complexity: string;
    recommendedModel: any;
    reasoning: string;
    metrics: {
        fileCount: any;
        totalChanges: any;
        additions: any;
        deletions: any;
        isComplex: any;
    };
};
/**
 * Resolve the model tier to use for a given analysis mode.
 *
 * Maps the high-level analysis mode onto the optimal-model tiers exposed by
 * {@link getProviderModelConfig}/`ConfigurationManager.getOptimalModelConfig()`:
 *   - "standard"   => the default tier
 *   - "detailed"   => escalate to the complex tier (falling back to medium, then default)
 *   - "enterprise" => escalate to the complex tier (falling back to default)
 *
 * Unknown modes fall back to the default tier so callers always receive a usable model.
 *
 * @param {string} analysisMode - Analysis mode ("standard" | "detailed" | "enterprise")
 * @param {Record<string, any>} optimalModels - Tier->model map (e.g. { default, medium, complex })
 * @returns {string} The model name selected for the analysis mode
 */
export declare function getModelForAnalysisMode(analysisMode: string, optimalModels?: Record<string, any>): string;
/**
 * Provider-specific model name normalization
 * @param {string} providerName - Provider name
 * @param {string} modelName - Raw model name
 * @returns {string} Normalized model name
 */
export declare function normalizeModelName(providerName: any, modelName: any): any;
