import { EditContextType } from "../client/editContext";
import { KeyboardCommand } from "../commands/commands";
export interface KeyboardNavigationDependencies {
    editContextRef: React.MutableRefObject<EditContextType | undefined>;
    keyboardCommands: KeyboardCommand<any>[];
    executeCommand: (params: {
        command: any;
        data?: any;
        event?: React.SyntheticEvent;
    }) => Promise<any>;
    showQuickSwitcher?: (show: boolean) => void;
    cycleQuickSwitcher?: (direction: "next" | "prev" | "up" | "down") => void;
}
export declare function useKeyboardNavigation(deps: KeyboardNavigationDependencies): {
    handleKeyDown: (event: KeyboardEvent) => Promise<void>;
};
/** True when the event target is an editable field (typing should take precedence over shortcuts). */
export declare function isTypingEventTarget(event: {
    target: EventTarget | null;
}): boolean;
