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 {};