import { ValuesType } from '../../internal-types';
import { KeyBindingPress } from './utils';
export type ShortcutOption = {
    shortcut: string;
    preventDefault?: boolean;
    stopPropagation?: boolean;
};
export declare const KeyBindingName: {
    readonly edit: "edit";
    readonly stop: "stop";
    readonly search: "search";
    readonly undo: "undo";
    readonly redo: "redo";
    readonly addTable: "addTable";
    readonly addColumn: "addColumn";
    readonly addMemo: "addMemo";
    readonly removeTable: "removeTable";
    readonly removeColumn: "removeColumn";
    readonly primaryKey: "primaryKey";
    readonly selectAllTable: "selectAllTable";
    readonly selectAllColumn: "selectAllColumn";
    readonly relationshipZeroOne: "relationshipZeroOne";
    readonly relationshipZeroN: "relationshipZeroN";
    readonly relationshipOneOnly: "relationshipOneOnly";
    readonly relationshipOneN: "relationshipOneN";
    readonly tableProperties: "tableProperties";
    readonly zoomIn: "zoomIn";
    readonly zoomOut: "zoomOut";
};
export type KeyBindingName = ValuesType<typeof KeyBindingName>;
export declare const KeyBindingNameList: ("undo" | "redo" | "selectAllColumn" | "edit" | "addMemo" | "addTable" | "removeTable" | "addColumn" | "removeColumn" | "search" | "stop" | "primaryKey" | "selectAllTable" | "relationshipZeroOne" | "relationshipZeroN" | "relationshipOneOnly" | "relationshipOneN" | "tableProperties" | "zoomIn" | "zoomOut")[];
export type KeyBindingMap = Record<KeyBindingName, ShortcutOption[]>;
export declare const createKeyBindingMap: () => KeyBindingMap;
export declare function shortcutToTuple(shortcut?: string): KeyBindingPress[];
export declare function isMod(event: MouseEvent | TouchEvent | KeyboardEvent): boolean;
export declare function simpleShortcutToString(shortcut?: string): string;
