export declare const HISTORY_STATE_SCROLL_KEY = "__rwsdk_scroll_key";
export type ScrollPosition = {
    x: number;
    y: number;
};
export type PendingScroll = ScrollPosition & {
    behavior: ScrollBehavior;
};
export interface NavigationHistoryState extends Record<string, unknown> {
    path?: string;
    scrollX?: number;
    scrollY?: number;
    [HISTORY_STATE_SCROLL_KEY]?: string;
}
export interface ScrollRestorationController {
    initialize(): void;
    recordCurrentPosition(x: number, y: number): void;
    flushCurrentPositionToHistoryState(x?: number, y?: number): void;
    pushEntry(href: string, url: URL, initialPosition: ScrollPosition): void;
    replaceEntry(href: string, url: URL, initialPosition: ScrollPosition): void;
    restorePopStateScroll(): void;
    setPendingScroll(pendingScroll: PendingScroll): void;
    applyPendingScroll(): void;
}
export declare function createScrollRestoration(): ScrollRestorationController;
