import { NgZone, OnDestroy } from '@angular/core';
import { OverlayScrollbars } from 'overlayscrollbars';
import { KbqScrollbarEvents, KbqScrollbarOptions, KbqScrollbarTarget } from './scrollbar.types';
import * as i0 from "@angular/core";
import * as i1 from "@angular/cdk/overlay";
/**
 * A directive for adding `overlayscrollbars` to an element.
 */
export declare class KbqScrollbarDirective implements OnDestroy {
    private ngZone;
    private scrollbarConfig?;
    private requestDefer;
    private cancelDefer;
    private _options;
    set options(value: KbqScrollbarOptions);
    /** Scrollbar behavior customization object */
    get options(): KbqScrollbarOptions | undefined;
    private _events?;
    set events(value: KbqScrollbarEvents);
    get events(): KbqScrollbarEvents | undefined;
    /** Whether to defer the initialization to a point in time when the browser is idle. (or to the next frame if `window.requestIdleCallback` is not supported) */
    defer?: boolean | IdleRequestOptions;
    scrollbarInstance?: OverlayScrollbars;
    constructor(ngZone: NgZone, scrollbarConfig?: KbqScrollbarOptions | undefined);
    initialize(target: KbqScrollbarTarget): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqScrollbarDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqScrollbarDirective, "[kbqScrollbar]", never, { "options": { "alias": "options"; "required": false; }; "events": { "alias": "events"; "required": false; }; "defer": { "alias": "defer"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.CdkScrollable; inputs: {}; outputs: {}; }]>;
}
