import type { ScrollRestorationProviderProps, ScrollRestorationTarget, UseScrollRestorationOptions } from './types';
export type { ScrollableHandle, ScrollRestorationProviderProps, ScrollRestorationTarget, UseScrollRestorationOptions, } from './types';
/**
 * Holds the per-route offset map for the subtree. One provider near the app
 * root is enough; the store lives for the document's lifetime so offsets
 * survive navigating away and back (including browser Back/Forward).
 */
export declare function ScrollRestorationProvider({ children, }: ScrollRestorationProviderProps): import("react/jsx-runtime").JSX.Element;
/**
 * Preserve and restore the scroll offset of `target` across navigation, keyed
 * by the active route (plus an optional `options.key` for routes that host
 * multiple scrollables).
 *
 * Behaviour (web):
 * - On every scroll while the screen is focused, the current offset is recorded
 *   in memory and persisted. This live stream of saves is the source of truth.
 * - On focus, the saved offset is re-applied across a bounded run of animation
 *   frames, stopping as soon as the write sticks (the list has re-rendered its
 *   rows and grown tall enough) or {@link RESTORE_FRAME_CAP} is reached. A
 *   saved offset of 0 is a no-op (nothing to restore).
 * - On blur, the LAST OBSERVED offset is persisted as a final safety net — not
 *   a fresh `scrollTop` read, which the navigator may already have forced to 0
 *   while collapsing the hidden screen.
 */
export declare function useScrollRestoration(target: ScrollRestorationTarget, options?: UseScrollRestorationOptions): void;
//# sourceMappingURL=index.web.d.ts.map