import { InjectionToken } from '@angular/core';
import { Observable } from 'rxjs';
export declare const UI_DO_REFRESH_DISTANCE: InjectionToken<number>;
export declare class PullDownRefreshController {
    private doRefreshDistance;
    onStateChange: Observable<number>;
    onDragEnd: Observable<void>;
    onRefresh: Observable<void>;
    onRefreshEnd: Observable<void>;
    private dragSource;
    private dragEndSource;
    private refreshSource;
    private refreshEndSource;
    private distance;
    private animationId;
    private timer;
    constructor(doRefreshDistance: number);
    refreshEnd(): void;
    drag(n: number): void;
    dragEnd(): void;
    refresh(): void;
    private animationTo(target, callback?);
}
