/**
 * LspPrompt - Interactive LSP server suggestion prompt
 *
 * @see spec.md US-003: Language-Aware Warm-up Strategies
 * @satisfies AC-US3-03, AC-US3-04, AC-US3-05
 */
/**
 * Maximum number of LSP servers to enable
 */
export declare const MAX_SERVERS = 3;
/**
 * LSP server suggestion from analyzer
 */
export interface LspSuggestion {
    /** Language identifier */
    language: string;
    /** Server name */
    server: string;
    /** Score from analyzer (0-100) */
    score: number;
    /** Whether server is installed */
    installed?: boolean;
    /** Command to install the server */
    installCommand?: string;
}
/**
 * Result of prompt interaction
 */
export interface PromptResult {
    /** Selected/enabled languages */
    enabled: string[];
    /** Install commands for missing servers (keyed by language) */
    installCommands?: Record<string, string>;
}
/**
 * Prompt adapter interface for testing
 */
export interface PromptAdapter {
    prompt(config: {
        message: string;
        choices: Array<{
            name: string;
            value: string;
        }>;
        maxSelections?: number;
    }): Promise<string[]>;
}
/**
 * Interactive prompt for LSP server suggestions
 */
export declare class LspPrompt {
    private readonly promptAdapter;
    constructor(promptAdapter: PromptAdapter);
    /**
     * Show suggestions and prompt user for selection
     *
     * @param suggestions - LSP suggestions from analyzer
     * @returns Promise resolving to prompt result
     */
    show(suggestions: LspSuggestion[]): Promise<PromptResult>;
    /**
     * Format a choice for display
     */
    private formatChoice;
}
//# sourceMappingURL=lsp-prompt.d.ts.map