import { ArenaSelection } from '../helpers'; import { CommandAction } from '../interfaces'; import { ArenaServiceManager } from './ArenaServiceManager'; export declare const keyboardKeys: string[]; export declare const lowerKeyboardKeys: string[]; export declare type KeyboardKey = typeof keyboardKeys[number]; export declare type ShortcutsHelp = Array<{ shortcut: string; description: string; }>; export declare const Modifiers: { Shift: number; Ctrl: number; Alt: number; Meta: number; }; export declare type Modifiers = { Shift: boolean; Ctrl: boolean; Alt: boolean; Meta: boolean; }; declare type Commands = { [name: string]: { action: CommandAction; saveToHistory: boolean; fireChanges: boolean; }; }; declare type ShortcutOptions = { command: string; }; declare type Shortcuts = { [key: string]: ShortcutOptions[]; }; export declare class ArenaCommandManager { protected asm: ArenaServiceManager; commands: Commands; shortcuts: Shortcuts; help: ShortcutsHelp; constructor(asm: ArenaServiceManager); registerCommand(command: string, action: CommandAction, saveToHistory?: boolean, fireChanges?: boolean): ArenaCommandManager; registerShortcut(shortcut: string, command: string, description?: string): ArenaCommandManager; execCommand(command: string, selection?: ArenaSelection): ArenaSelection | undefined; execShortcut(selection: ArenaSelection, modifiersSum: number, key: KeyboardKey): void; getModifiersSum(modifiers: Modifiers): number; parseShortcut(shortcut: string): [number, string | undefined]; getHumanShortcut(shortcut: string): string; getHumanKey(key: string): string; getHelp(): ShortcutsHelp; } export {};