import { OnInit, EventEmitter, ElementRef, AfterViewInit, OnDestroy } from '@angular/core';
export declare type StickyStatus = 'normal' | 'follow' | 'stay' | 'remain';
export declare class StickyComponent implements OnInit, AfterViewInit, OnDestroy {
    private el;
    hostPosition: string;
    zIndex: number;
    container: Element;
    view: {
        top?: number;
        bottom?: number;
    };
    scrollTarget: any;
    statusChange: EventEmitter<StickyStatus>;
    wrapper: any;
    _prevStatus: StickyStatus;
    _status: StickyStatus;
    status: StickyStatus;
    parentNode: any;
    containerLeft: any;
    private THROTTLE_DELAY;
    private THROTTLE_TRIGGER;
    private scrollPreStart;
    private scrollTimer;
    constructor(el: ElementRef);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    statusProcess(status: any): void;
    throttle: () => void;
    scrollAndResizeHock: () => void;
    scrollHandler: () => void;
    calculateRelativePosition(element: any, relativeElement: any, direction: any): number;
    calculateRemainPosition(element: any, relativeElement: any, container: any): number;
    initScrollStatus(target: any): void;
    /**
     * 提供给业务自己触发
     * 用法：
     * 1.捕获所有sticky：```@ViewChildren(StickyComponent) stickies;```
     * 2.触发刷新：当需要手动触发更新的时候，比如订阅数据返回后页面高度发生变化可以调用 ```stickies.forEach(sticky => sticky.recalculatePosition());```
     * 慎用，少用， 使用太多会影响性能。
     */
    recalculatePosition(): void;
}
