import type { KeyboardEvent } from 'react';
import type { VimMode } from '../../hooks/useVimMode';
interface ChatInputKeyHandlerOptions {
    showFileMention: boolean;
    showCommandSuggestions: boolean;
    mentionSelectedIndex: number;
    commandSelectedIndex: number;
    currentFileToSelect: string | undefined;
    currentCommandToSelect: string | undefined;
    isPlanMode: boolean;
    vimModeEnabled: boolean;
    vimMode: VimMode;
    setMentionSelectedIndex: (index: number) => void;
    setCommandSelectedIndex: (index: number) => void;
    setShowFileMention: (show: boolean) => void;
    setShowCommandSuggestions: (show: boolean) => void;
    setIsPlanMode: (mode: boolean) => void;
    setVimMode: (mode: VimMode) => void;
    handleFileSelect: (file: string) => void;
    handleCommandSelect: (commandId: string) => void;
    handleSend: () => void;
    handleVimNormalMode: (e: KeyboardEvent<HTMLTextAreaElement>) => boolean;
    onPlanModeToggle?: (isPlanMode: boolean) => void;
}
export declare function createChatInputKeyHandler(options: ChatInputKeyHandlerOptions): (e: KeyboardEvent<HTMLTextAreaElement>) => void;
export {};
//# sourceMappingURL=ChatInputKeyHandler.d.ts.map