import { Observable } from 'rxjs'; import { ScrollToConfigOptions, ScrollToListenerTarget } from './scroll-to-config.interface'; /** Scroll To Animation */ export declare class ScrollToAnimation { private _container; private _listenerTarget; private readonly _isWindow; private readonly _to; private readonly _options; private _isBrowser; /** Number of milliseconds for each Tick */ private _tick; /** Interval */ private _interval; /** Time Lapsed in milliseconds */ private _timeLapsed; /** Percentage of time lapsed */ private _percentage; /** Position of the Element */ private _position; /** Last Element Position */ private _lastPosition; /** Start Position of the Element */ private _startPosition; /** The Distance to scroll */ private _distance; /** Observable Source */ private _source$; /** Scroll Top of the Window */ private _windowScrollTop; /** Mapped Offset taken from the active Offset Map */ private _mappedOffset; /** * Class Constructor. * * @param _container The Container * @param _listenerTarget The Element that listens for DOM Events * @param _isWindow Whether or not the listener is the Window * @param _to Position to scroll to * @param _options Additional options for scrolling * @param _isBrowser Whether or not execution runs in the browser * (as opposed to the server) */ constructor(_container: HTMLElement, _listenerTarget: ScrollToListenerTarget, _isWindow: boolean, _to: number, _options: ScrollToConfigOptions, _isBrowser: boolean); /** * Start the new Scroll Animation. * * @returns Observable containing a number */ start(): Observable; /** Recursively loop over the Scroll Animation */ private _loop; /** * Stop the current Scroll Animation Loop. * * @param force Force to stop the Animation Loop * @returns Void */ stop(): void; }