import { FormatImagesImporter } from '../formats/utils/images-import';
import { IRichEditControl } from '../interfaces/i-rich-edit-core';
import { ISelectionChangesListener } from '../selection/i-selection-changes-listener';
import { Selection } from '../selection/selection';
import { RichEditClientCommand } from './client-command';
import { ICommand } from './i-command';
export declare abstract class CommandManager implements ISelectionChangesListener {
    private publicEnabledState;
    private commands;
    private lastCommandsChain;
    private executingCommandsChain;
    private executingCommandCounter;
    isPublicApiCall: boolean;
    lastTextInsertDate: Date;
    isPrintingProcessing: boolean;
    formatImagesImporters: FormatImagesImporter[];
    clipboardTimerId: any;
    printTimerId: any;
    constructor(control: IRichEditControl, printNonce?: string);
    commandIsEnabled(commandId: RichEditClientCommand | string): boolean;
    setCommandEnabled(commandId: RichEditClientCommand | string, enabled: boolean): void;
    dispose(): void;
    abortClipboardCommandExecution(): void;
    getCommand(key: RichEditClientCommand): ICommand;
    beforeExecuting(command: ICommand): void;
    afterExecuting(): void;
    assertLastExecutedCommandsChain(checkLength: boolean, ...types: Function[]): boolean;
    NotifySelectionChanged(_selection: Selection): void;
    NotifyScrollPositionChanged(): void;
    protected createCommand(control: IRichEditControl, commandId: RichEditClientCommand, commandType: new (control: IRichEditControl) => ICommand): void;
    protected assingCommand(commandId: RichEditClientCommand, command: ICommand): void;
}
