export interface ScrollStickOptions { elements: (HTMLElement | null)[]; scrollContainer?: Stickers['scrollContainer']; offset?: number; } interface Sticker { element: HTMLElement; top: number; bottom: number; height: number; isStuck: boolean; priorStickHeight: number; } type ElementsOption = ScrollStickOptions['elements']; declare class Stickers { #private; scrollContainer: HTMLElement | Window; offset: number; constructor({ elements, scrollContainer, offset }: ScrollStickOptions); setStickers(elements: ElementsOption): Sticker[]; addHandlers(): void; rmHandlers(): void; snapshotItemRects(): void; onScroll(): void; onResize(): void; getScrollY(): number; getViewportHeight(): number; getScrollFrameHeight(): number; testBottomInView(sticker: Sticker): boolean; testForStick(): this | undefined; addStick(sticker: Sticker): this; removeStick(sticker: Sticker): this; getStickTop(sticker: Sticker): number; cleanup(): void; } /** * @example useScrollStick({ elements: [myColumnElements] | '.my-columns', offset: 20 }); * @param options An object to set the sticky elements, the scroll container and an stuck offset in pixels. * @returns void. */ declare const useScrollStick: (options?: ScrollStickOptions) => void; export default useScrollStick; //# sourceMappingURL=useScrollStick.d.ts.map