import ArenaSelection from '../helpers/ArenaSelection';
import { ArenaNodeRoot } from '../interfaces/ArenaNode';
import ArenaServiceManager from './ArenaServiceManager';
declare type SelectionIndexes = [string, number, string, number, 'forward' | 'backward'];
export default class ArenaHistory {
    protected asm: ArenaServiceManager;
    constructor(asm: ArenaServiceManager);
    reset(selection: ArenaSelection | undefined): void;
    save(selection: ArenaSelection | undefined, typing?: boolean): void;
    undo(selection: ArenaSelection): ArenaSelection | undefined;
    redo(selection: ArenaSelection): ArenaSelection | undefined;
    resetTyped(): void;
    protected applyCurrent(): ArenaSelection | undefined;
    protected getSelectionFromIndexes(sel: SelectionIndexes): ArenaSelection | undefined;
    protected getSelectionIndexes(selection: ArenaSelection): SelectionIndexes;
    protected log: [ArenaNodeRoot, SelectionIndexes | undefined][];
    protected currentIndex: number;
    protected typed: boolean;
}
export {};
//# sourceMappingURL=ArenaHistory.d.ts.map