import { Event } from './event.js'; import { INavigator } from './navigator.js'; export interface IHistory { delete(t: T): boolean; add(t: T): this; has(t: T): boolean; clear(): void; forEach(callbackfn: (value: T, value2: T, set: Set) => void, thisArg?: any): void; replace?(t: T[]): void; onDidChange?: Event; } export declare class HistoryNavigator implements INavigator { private _history; private _limit; private _navigator; constructor(_history?: IHistory, limit?: number); getHistory(): T[]; add(t: T): void; next(): T | null; previous(): T | null; current(): T | null; first(): T | null; last(): T | null; isFirst(): boolean; isLast(): boolean; isNowhere(): boolean; has(t: T): boolean; clear(): void; private _onChange; private _reduceToLimit; private _currentPosition; private get _elements(); }