import type { WidgetsOptions } from '../../../domains/dashboarding/dashboard-model';
import type { DashboardPersistenceManager } from '../../../domains/dashboarding/persistence/types';
type ScrollerChangeHandler = (min: number, max: number) => void;
/**
 * Returns a stable per-widget factory of debounced scroller-position savers.
 * Each call with the same widgetOid reuses the same debounced function.
 * All pending debouncers are cancelled on unmount.
 *
 * @param persistence - The dashboard persistence manager. When `undefined`, the returned factory is a no-op.
 * @param widgetsOptions - Current widget DTO options map, used to include all existing options in the PATCH
 *   so the server does not discard other option fields when updating `previousScrollerLocation`.
 * @returns Function that maps a widget OID to its debounced save handler.
 * @internal
 */
export declare function useWidgetScrollPersistence(persistence: DashboardPersistenceManager | undefined, widgetsOptions?: WidgetsOptions): (widgetOid: string) => ScrollerChangeHandler;
export {};
