import { IWatchStatus, IWatcherOptions } from "./types";
export default class Watcher {
    options: IWatcherOptions;
    private _resizeTimer;
    private _maxResizeDebounceTimer;
    private _containerOffset;
    private _view;
    private _isScrollIssue;
    private _prevPos;
    constructor(view: Window | HTMLElement, options?: Partial<IWatcherOptions>);
    getStatus(): IWatchStatus;
    setStatus(status: IWatchStatus, applyScrollPos?: boolean): void;
    scrollBy(pos: number): void;
    scrollTo(pos: number): void;
    getScrollPos(): number | null;
    setScrollPos(pos?: number): void;
    attachEvent(): void;
    getOrgScrollPos(): number;
    reset(): void;
    getContainerOffset(): number;
    resize(): void;
    detachEvent(): void;
    destroy(): void;
    private _getOffset;
    private _onCheck;
    private _onResize;
}
