import type { KeyboardEvent } from "react";
import type { CompletionItem, KeybindingConfig, WordAtCursor } from "./types.js";
interface KeyDownDeps {
    readonly isPopoverOpen: boolean;
    readonly multiline: boolean;
    readonly keybindings?: KeybindingConfig;
    readonly selectedItem: CompletionItem | null;
    readonly wordAtCursor: WordAtCursor | null;
    readonly onAcceptCompletion: (item: CompletionItem, word: WordAtCursor) => void;
    readonly onNavigate: (direction: "up" | "down") => void;
    readonly onDismiss: () => void;
    readonly onCancelTrigger: () => void;
    readonly onManualTrigger: () => void;
    readonly onValueChange: (value: string) => void;
    readonly onExternalKeyDown?: (e: KeyboardEvent<HTMLTextAreaElement>) => void;
}
export declare function createKeyDownHandler(deps: KeyDownDeps): (e: KeyboardEvent<HTMLTextAreaElement>) => void;
export {};
