///
import * as ko from 'knockout';
import { KeyEventType } from '../../common/common-interfaces';
import { DashboardControl } from '../../common/dashboard-control';
import { DisposableObject } from '../../model/disposable-object';
export declare class UndoRedoExtension extends DisposableObject {
private dashboardControl;
name: string;
static readonly _toolbarItemsIndex = 0;
private _undoEngine;
private _predefinedToolbarItems;
private _defaultToolbarItems;
private _toolboxToolbarGroup;
constructor(dashboardControl: DashboardControl);
reset(): void;
processKeyEvent(keyEventType: KeyEventType, eventArgs: JQueryKeyEventObject): boolean;
private _controlOptionChangedHandler;
start(): void;
private _createToolbarItem;
private _addToolbarItems;
private _removeToolbarItems;
undo(): void;
redo(): void;
undoEnabled(): boolean;
redoEnabled(): boolean;
stop(): void;
private _onControlOptionChanged;
private _beforeWindowUnloadHandler;
private _setShowConfirmationDialog;
private _onBeforeWindowUnload;
isChanged: ko.Computed;
}