import PerfectScrollbar from 'perfect-scrollbar';
import { NgZone, ElementRef, OnInit, DoCheck, OnChanges, OnDestroy, EventEmitter, SimpleChanges, KeyValueDiffers } from '@angular/core';
import { Geometry, Position } from './perfect-scrollbar.interfaces';
import { PerfectScrollbarConfigInterface } from './perfect-scrollbar.interfaces';
export declare class PerfectScrollbarDirective implements OnInit, OnDestroy, DoCheck, OnChanges {
    private zone;
    private differs;
    elementRef: ElementRef;
    private platformId;
    private defaults;
    private instance;
    private ro;
    private timeout;
    private animation;
    private configDiff;
    private readonly ngDestroy;
    disabled: boolean;
    config?: PerfectScrollbarConfigInterface;
    psScrollY: EventEmitter<any>;
    psScrollX: EventEmitter<any>;
    psScrollUp: EventEmitter<any>;
    psScrollDown: EventEmitter<any>;
    psScrollLeft: EventEmitter<any>;
    psScrollRight: EventEmitter<any>;
    psYReachEnd: EventEmitter<any>;
    psYReachStart: EventEmitter<any>;
    psXReachEnd: EventEmitter<any>;
    psXReachStart: EventEmitter<any>;
    constructor(zone: NgZone, differs: KeyValueDiffers, elementRef: ElementRef, platformId: Object, defaults: PerfectScrollbarConfigInterface);
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngDoCheck(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ps(): PerfectScrollbar | null;
    update(): void;
    geometry(prefix?: string): Geometry;
    position(absolute?: boolean): Position;
    scrollable(direction?: string): boolean;
    scrollTo(x: number, y?: number, speed?: number): void;
    scrollToX(x: number, speed?: number): void;
    scrollToY(y: number, speed?: number): void;
    scrollToTop(offset?: number, speed?: number): void;
    scrollToLeft(offset?: number, speed?: number): void;
    scrollToRight(offset?: number, speed?: number): void;
    scrollToBottom(offset?: number, speed?: number): void;
    scrollToElement(qs: string, offset?: number, speed?: number): void;
    private animateScrolling;
}
