/**
 * Inline completion menu renderer.
 *
 * Provides pure rendering functions and terminal drawing helpers
 * for the slash command autocomplete menu displayed below the input line.
 */
/**
 * A single completion candidate entry.
 */
export interface CompletionCandidate {
    readonly value: string;
    readonly description?: string;
    readonly applyValue?: string;
}
/**
 * Context passed to completion providers.
 */
export interface CompletionContext {
    readonly buffer: string;
    readonly cursorPos: number;
}
/**
 * Function that returns completion candidates for the current input state.
 */
export type CompletionProvider = (context: CompletionContext) => readonly CompletionCandidate[];
/**
 * Render completion menu lines (pure function).
 *
 * Returns an array of styled strings: separator line + one line per candidate.
 */
export declare const renderCompletionMenu: (candidates: readonly CompletionCandidate[], selectedIndex: number, termWidth: number) => readonly string[];
/**
 * Write the completion menu below the current cursor position.
 *
 * Moves cursor down to below the input, draws the menu,
 * then restores cursor to original position.
 */
export declare const writeCompletionMenu: (lines: readonly string[], rowsBelowCursor: number) => void;
/**
 * Clear the completion menu from the terminal.
 *
 * Moves cursor below input, erases everything, then restores position.
 */
export declare const clearCompletionMenu: (rowsBelowCursor: number) => void;
//# sourceMappingURL=completionMenu.d.ts.map