type CoreDomElement = HTMLElement | SVGElement;
type CoreDomSelect = CoreDomElement | CoreDomElement[] | NodeList | Document | string | null;
type ScrollObserverDevOptions = {
markers: boolean;
markersColor: string;
area: boolean;
};
type ScrollObserverOptions = {
animation: any;
context: CoreDomSelect;
trigger?: CoreDomSelect;
endTrigger?: CoreDomElement;
start: string | number;
end: string | number;
steer: boolean;
steerDuration: number;
pin: boolean | CoreDomSelect;
pinSpacing: boolean;
pinWrapper?: CoreDomSelect;
pinContent?: CoreDomSelect;
resize: boolean;
dev: boolean | ScrollObserverDevOptions;
onBottomIn: Function | string;
onTopIn: Function | string;
onBottomOut: Function | string;
onTopOut: Function | string;
onEnter: Function | string;
onLeave: Function | string;
onUpdate: Function;
};
declare class ScrollObserver {
private static _defaultOptions;
static get defaultOptions(): ScrollObserverOptions;
static set defaultOptions(options: Partial);
static devCss: boolean;
private frame;
private destroyed;
options: ScrollObserverOptions;
viewportStartPX: number;
private viewportEndPX;
triggerStartPX: number;
private triggerEndPX;
startTriggerOffset: number;
private endTriggerOffset;
private isIntersacting;
private sy;
private dy;
private pinWrapper;
private pinContent;
private scrollDistance;
private markers;
private windowWidth;
private boundResize;
private absolute;
constructor(options: Partial);
private render;
getProgress(delayed?: boolean): number;
resize(): void;
private patchStickyOverflow;
refresh(): void;
revert(): void;
private createMarkers;
private changeMarkerPosition;
private setMarkerProgress;
}
declare const scrollObserver: {
(options: Partial): ScrollObserver;
label: string;
options(options: Partial): {
animation: any;
context: CoreDomSelect;
trigger?: CoreDomSelect;
endTrigger?: CoreDomElement;
start: string | number;
end: string | number;
steer: boolean;
steerDuration: number;
pin: boolean | CoreDomSelect;
pinSpacing: boolean;
pinWrapper?: CoreDomSelect;
pinContent?: CoreDomSelect;
resize: boolean;
dev: boolean | ScrollObserverDevOptions;
onBottomIn: Function | string;
onTopIn: Function | string;
onBottomOut: Function | string;
onTopOut: Function | string;
onEnter: Function | string;
onLeave: Function | string;
onUpdate: Function;
};
};
export { scrollObserver };