import { Application } from '../Application';
import { SegueBase } from './Base';
import { PopState, PresetConfig, SegueBackType } from '../types';
declare class SegueHistory extends SegueBase {
    prevHistoryStep: 0 | 1 | -1;
    historyIndex: number;
    historyShadowLength: number;
    oneHistoryIndex: number;
    historyDirection: number;
    backFromType: SegueBackType;
    private backoutCount;
    private sessionHistory;
    private silentObserver;
    private defaultURLPath;
    private defaultURLSearch;
    private historyBreakCallback;
    constructor(app: Application, presetConfig: PresetConfig);
    get fromHistoryForward(): boolean;
    get fromHistoryBack(): boolean;
    get historyState(): PopState;
    get isOverscrollHistoryNavigation(): boolean;
    private bindHistoryState;
    observeSilent(times?: number): void;
    popstate(state: PopState): Promise<void>;
    back(type?: SegueBackType): Promise<void>;
    backTo(): Promise<void>;
    forward(): Promise<void>;
    getSearch(search?: string): string;
    pushState(id?: string, title?: string, search?: string): void;
    replaceState(id?: string, title?: string, search?: string): void;
    requestRegisterHistory(id?: string, title?: string, search?: string): void;
    toHistory(state?: PopState): Promise<void>;
    checkSingleLock(): boolean;
    bindHistoryBreak(callback: () => void): void;
}
export { SegueHistory };
