import type { ListTable, BaseTableAPI, pluginsDefinition } from '@visactor/vtable';
import type { TableEvents } from '@visactor/vtable/src/core/TABLE_EVENT_TYPE';
import type { EventArg } from './types';
export declare enum ExcelEditCellKeyboardResponse {
    ENTER = "enter",
    TAB = "tab",
    ARROW_LEFT = "arrowLeft",
    ARROW_RIGHT = "arrowRight",
    ARROW_DOWN = "arrowDown",
    ARROW_UP = "arrowUp",
    DELETE = "delete",
    BACKSPACE = "backspace"
}
export type IExcelEditCellKeyboardPluginOptions = {
    id?: string;
    responseKeyboard?: ExcelEditCellKeyboardResponse[];
};
export declare class ExcelEditCellKeyboardPlugin implements pluginsDefinition.IVTablePlugin {
    id: string;
    name: string;
    runTime: "initialized"[];
    table: ListTable;
    pluginOptions: IExcelEditCellKeyboardPluginOptions;
    responseKeyboard: ExcelEditCellKeyboardResponse[];
    constructor(pluginOptions?: IExcelEditCellKeyboardPluginOptions);
    run(...args: [EventArg, TableEvents[keyof TableEvents] | TableEvents[keyof TableEvents][], BaseTableAPI]): void;
    bindEvent(): void;
    handleKeyDown(event: KeyboardEvent): void;
    isExcelShortcutKey(event: KeyboardEvent): boolean;
    setResponseKeyboard(responseKeyboard: ExcelEditCellKeyboardResponse[]): void;
    deleteResponseKeyboard(responseKeyboard: ExcelEditCellKeyboardResponse[]): void;
    addResponseKeyboard(responseKeyboard: ExcelEditCellKeyboardResponse[]): void;
    release(): void;
}
