import * as _ from 'lodash';
import { KeyCodeChord, MonacoStoreAction } from './definitions';
import { MonacoEditorType, MonacoStore } from '../MonacoStore';
import { AbstractStore, CMDPalletStore } from '@journeyapps-labs/reactor-mod';
import { KeybindingsRegistry } from './KeybindingsRegistry';
export interface PatchActionOperation {
    action: MonacoStoreAction;
    binding: KeyCodeChord;
    binding2: KeyCodeChord;
}
export interface MonacoKeybindingStoreOptions {
    editorStore: MonacoStore;
    cmdPaletteStore: CMDPalletStore;
}
export declare class MonacoKeybindingStore extends AbstractStore {
    protected options2: MonacoKeybindingStoreOptions;
    actions: MonacoStoreAction[];
    focusedEditor: MonacoEditorType;
    keybindingRegistry: KeybindingsRegistry;
    constructor(options2: MonacoKeybindingStoreOptions);
    protected _init(): Promise<void>;
    private setupFocusRestoration;
    private scheduleFocusedEditorCleanup;
    getActionFromID(id: string): MonacoStoreAction;
    getContextualActions(): import("monaco-editor").editor.IEditorAction[];
    unbindAction(actionID: string, bindings: KeyCodeChord[]): void;
    updateAction(operation: PatchActionOperation): void;
    getDefaultActions: (() => Promise<MonacoStoreAction[]>) & _.MemoizedFunction;
}
