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