/**
 * Centralized model choices for CLI commands
 * Derives choices from model enums to ensure consistency
 */
import { AIProviderName } from "../constants/enums.js";
import type { ModelChoice } from "../types/index.js";
/**
 * Default models per provider (first choice/recommended)
 */
export declare const DEFAULT_MODELS: Record<string, string>;
/**
 * Get top model choices for a provider (for CLI prompts)
 * Returns models formatted for inquirer list prompts
 *
 * @param provider - The AI provider to get models for
 * @param limit - Maximum number of models to return (default: 5)
 * @returns Array of ModelChoice objects for CLI prompts
 */
export declare function getTopModelChoices(provider: AIProviderName, limit?: number): ModelChoice[];
/**
 * Get all available models for a provider
 * Returns all values from the provider's model enum
 *
 * @param provider - The AI provider to get models for
 * @returns Array of model identifier strings
 */
export declare function getAllModels(provider: AIProviderName): string[];
/**
 * Get available provider choices for CLI
 * Returns all provider names except AUTO
 *
 * @returns Array of provider name strings
 */
export declare function getProviderChoices(): string[];
/**
 * Get all provider choices including AUTO
 *
 * @returns Array of all provider name strings
 */
export declare function getAllProviderChoices(): string[];
/**
 * Get the default model for a provider
 *
 * @param provider - The AI provider
 * @returns Default model string for the provider
 */
export declare function getDefaultModel(provider: AIProviderName): string | undefined;
/**
 * Check if a model is valid for a given provider
 *
 * @param provider - The AI provider
 * @param model - The model identifier to check
 * @returns true if the model exists in the provider's model enum
 */
export declare function isValidModel(provider: AIProviderName, model: string): boolean;
/**
 * Get model choices formatted for inquirer prompts with a specific default
 *
 * @param provider - The AI provider
 * @param currentModel - Current/existing model to mark as default
 * @param limit - Maximum number of models to return
 * @returns Array of ModelChoice objects with the current model marked
 */
export declare function getModelChoicesWithDefault(provider: AIProviderName, currentModel?: string, limit?: number): ModelChoice[];
/**
 * Get a flat list of popular models across all providers
 * Useful for model suggestions and auto-complete
 *
 * @returns Array of { provider, model, description } objects
 */
export declare function getPopularModelsAcrossProviders(): {
    provider: AIProviderName;
    model: string;
    description: string;
}[];
