declare const BASE_PATH: unique symbol;
export { BASE_PATH };
export type LocationChangeEventName = 'beforeChange' | 'afterChange';
export type LocationChangeType = 'initial' | 'popState' | 'linkClick' | 'navigate';
export declare class LocationChangeEvent {
    name: LocationChangeEventName;
    type: LocationChangeType;
    location: URL;
    state?: any | undefined;
    _canceled: boolean;
    constructor(name: LocationChangeEventName, type: LocationChangeType, location: URL, state?: any | undefined);
    get isPageLoad(): boolean;
    get isBackForward(): boolean;
    get isLinkClick(): boolean;
    get isNavigation(): boolean;
    get isCancelable(): boolean;
    cancel(): void;
}
export declare class BeforeLocationChangeEvent extends LocationChangeEvent {
    constructor(type: LocationChangeType, location: URL, state?: any);
}
export declare class AfterLocationChangeEvent extends LocationChangeEvent {
    constructor(type: LocationChangeType, location: URL, state?: any);
}
export interface NavigateOptions {
    replace?: boolean;
    state?: any;
    /**
     * if defined prepend the basePath to the `to` argument
     */
    basePath?: string;
    /**
     * if defined, indicate whether the basePath will be used as a top-level base path or a nested base path.
     */
    isBasePathNested?: boolean;
}
export declare class HistoryNavigator {
    stickyParams?: Record<string, string>;
    _popStateListener?: (ev: PopStateEvent) => void;
    _linkNavListener?: (ev: MouseEvent) => void;
    _listeners: ((event: LocationChangeEvent) => void)[];
    constructor();
    addListener(listener: (event: LocationChangeEvent) => void): void;
    fireLocationChange(event: LocationChangeEvent): void;
    /**
     * Should be called when the page is first loaded.
     * It will fire a location change event with type `initial` and the current window.location as the location
     */
    firePageLoad(): void;
    addStickyParams(path: string): string;
    navigate(to: string, options?: NavigateOptions): void;
    _navigate(to: URL, type: LocationChangeType, options: NavigateOptions): void;
    start(): void;
    stop(): void;
}
//# sourceMappingURL=HistoryNavigator.d.ts.map