import ArenaSelection from '../helpers/ArenaSelection';
import CommandAction from '../interfaces/CommandAction';
import ArenaServiceManager from './ArenaServiceManager';
export declare const keyboardKeys: string[];
export declare type KeyboardKey = typeof keyboardKeys[number];
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 = {
    [key: string]: {
        action: CommandAction;
        saveToHistory: boolean;
    };
};
export default class ArenaCommandManager {
    protected asm: ArenaServiceManager;
    commands: Commands;
    shortcuts: {
        [key: string]: string;
    };
    constructor(asm: ArenaServiceManager);
    registerCommand(command: string, action: CommandAction, saveToHistory?: boolean): ArenaCommandManager;
    registerShortcut(shortcut: string, command: string): ArenaCommandManager;
    execCommand(command: string, selection?: ArenaSelection): void;
    execShortcut(selection: ArenaSelection, modifiersSum: number, key: KeyboardKey): void;
    getModifiersSum(modifiers: Modifiers): number;
    parseShortcut(shortcut: string): [number, string | undefined];
}
export {};
//# sourceMappingURL=ArenaCommandManager.d.ts.map