export declare const SCROLL_OVERLAY_BLOCK_SIZE = "--ds-scroll-overlay-block-size"; export declare const SCROLL_OVERLAY_CONTENT_BLOCK_SIZE = "--ds-scroll-overlay-content-block-size"; export declare const SCROLL_OVERLAY_FADE_BLOCK_SIZE = "--ds-scroll-overlay-fade-block-size"; interface ScrollOverlayControllerOptions { host: HTMLElement; viewport: HTMLElement; content: HTMLElement; overlay: HTMLElement; overlayContentSelector?: string; onGeometryChange?: () => void; } /** * Keeps a content-owned alpha mask pinned behind a fixed overlay. * * The mask lives on the long content element so native scrollbars stay outside * the fade and the actual parent surface shows through. Its stop positions are * therefore expressed in content coordinates and must follow scrollTop. */ export declare class ScrollOverlayController { private readonly options; private resizeObserver?; private overlayBlockSize; private overlayContentBlockSize; private fadeBlockSize; constructor(options: ScrollOverlayControllerOptions); connect(): void; disconnect(): void; sync(): void; getOverlayBlockSize(): number; getOverlayContentBlockSize(): number; private syncOverlayGeometry; private syncFadeWindow; } export {}; //# sourceMappingURL=scroll-overlay-controller.d.ts.map