import { WithEventBus } from "@fluid-topics/ft-wc-utils"; import { HistoryChangeEvent, HistoryState, HistoryStateUpdate } from "./HistoryService.models"; import { HistorySessionStorage } from "./HistorySessionStorage"; export declare class HistoryService extends WithEventBus { private history; private historyStorage; private windowLocation; static build(): HistoryService; private states; private readonly initialIndex; private currentIndex; private currentState; private readonly realPushState; private readonly realReplaceState; constructor(history: History, historyStorage: HistorySessionStorage, windowLocation: () => Location | URL, initDataInstantly: boolean); private setCurrentState; private installProxies; private initEventListeners; private initData; updateCurrentState(update?: HistoryStateUpdate): void; addHistoryChangeListener(listener: (event: HistoryChangeEvent) => void): void; removeHistoryChangeListener(listener: (event: HistoryChangeEvent) => void): void; currentItem(): HistoryState; back(): void; backwardItem(): HistoryState | undefined; backwardItemMatching(predicate: (_: HistoryState) => boolean | undefined): HistoryState | undefined; private previousDifferentMajorPosition; forward(): void; forwardItem(): HistoryState | undefined; private nextMajorPosition; private getHigherPositionInTheSameState; private buildCurrentState; private hasState; private isDifferentMajorState; }