import { AfterViewInit, ElementRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
import { KbqScrollbarEvents, KbqScrollbarOptions, KbqScrollbarTarget } from './scrollbar.types';
import * as i0 from "@angular/core";
/**
 * The component-wrapper for `overlayscrollbars` library.
 */
export declare class KbqScrollbar implements AfterViewInit, OnDestroy {
    private ngZone;
    private targetElement;
    /** Element that is being overflowed */
    contentElement: ElementRef<HTMLDivElement>;
    private kbqScrollbarDirective?;
    /** Elements scrollbar applied on */
    initializationTarget?: KbqScrollbarTarget;
    /** Scrollbar behavior customization object */
    options: KbqScrollbarOptions;
    events: KbqScrollbarEvents;
    /** 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;
    readonly onInitialize: EventEmitter<[instance: import("overlayscrollbars").OverlayScrollbars]>;
    /** Event triggered when options or event listeners updated */
    readonly onUpdate: EventEmitter<[instance: import("overlayscrollbars").OverlayScrollbars, onUpdatedArgs: import("overlayscrollbars").OnUpdatedEventListenerArgs]>;
    /** Event triggered when scrollbar instance destroyed */
    readonly onDestroy: EventEmitter<[instance: import("overlayscrollbars").OverlayScrollbars, canceled: boolean]>;
    readonly onScroll: EventEmitter<[instance: import("overlayscrollbars").OverlayScrollbars, event: Event]>;
    get element(): HTMLElement;
    private readonly injector;
    constructor(ngZone: NgZone, targetElement: ElementRef<HTMLElement>);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /** Wrapper function for native scroll */
    scrollTo(options?: ScrollToOptions): void;
    mergeEvents(): KbqScrollbarEvents;
    private dispatchEventIfHasObservers;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqScrollbar, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqScrollbar, "kbq-scrollbar, [kbq-scrollbar]", ["kbqScrollbar"], { "initializationTarget": { "alias": "initializationTarget"; "required": false; }; "options": { "alias": "options"; "required": false; }; "events": { "alias": "events"; "required": false; }; "defer": { "alias": "defer"; "required": false; }; }, { "onInitialize": "onInitialize"; "onUpdate": "onUpdate"; "onDestroy": "onDestroy"; "onScroll": "onScroll"; }, never, ["*"], true, never>;
}
