import * as _angular_core from '@angular/core';
import { ElementRef, EventEmitter } from '@angular/core';

declare class ScrollbarArea {
    private readonly platformId;
    private readonly elRef;
    private readonly zone;
    private readonly renderer;
    private readonly destroyRef;
    private readonly router;
    readonly scrollableContentRef: _angular_core.Signal<ElementRef<HTMLElement>>;
    readonly scrollTrackRef: _angular_core.Signal<ElementRef<HTMLElement>>;
    readonly scrollThumbRef: _angular_core.Signal<ElementRef<HTMLElement>>;
    readonly scrollTrackXRef: _angular_core.Signal<ElementRef<HTMLElement>>;
    readonly scrollThumbXRef: _angular_core.Signal<ElementRef<HTMLElement>>;
    readonly scrollbarWidth: _angular_core.InputSignal<string>;
    readonly autoHide: _angular_core.InputSignal<boolean>;
    readonly absolute: _angular_core.InputSignal<boolean>;
    readonly scrolled: EventEmitter<Event>;
    readonly isDragging: _angular_core.WritableSignal<boolean>;
    readonly isHovering: _angular_core.WritableSignal<boolean>;
    private readonly scrollTop;
    private readonly scrollLeft;
    private readonly contentScrollHeight;
    private readonly contentScrollWidth;
    private readonly contentClientHeight;
    private readonly contentClientWidth;
    private readonly trackClientHeight;
    private readonly trackClientWidth;
    private readonly showDueToActivity;
    readonly hasScrollY: _angular_core.Signal<boolean>;
    readonly scrollRatioY: _angular_core.Signal<number>;
    readonly minThumbHeight = 20;
    readonly thumbHeight: _angular_core.Signal<number>;
    readonly maxScrollTop: _angular_core.Signal<number>;
    readonly maxThumbTop: _angular_core.Signal<number>;
    readonly thumbTop: _angular_core.Signal<number>;
    readonly hasScrollX: _angular_core.Signal<boolean>;
    readonly scrollRatioX: _angular_core.Signal<number>;
    readonly minThumbWidth = 20;
    readonly thumbWidth: _angular_core.Signal<number>;
    readonly maxScrollLeft: _angular_core.Signal<number>;
    readonly maxThumbLeft: _angular_core.Signal<number>;
    readonly thumbLeft: _angular_core.Signal<number>;
    readonly hasAnyScroll: _angular_core.Signal<boolean>;
    readonly isVisible: _angular_core.Signal<boolean>;
    readonly isInteractive: _angular_core.Signal<boolean>;
    private isInitialized;
    private eventsSubscription;
    private observersSubscription;
    private hideTimeout;
    constructor();
    private initializeComponentLogic;
    private raf;
    private setupStyleEffects;
    private setupObservers;
    private setupEventStreams;
    private scheduleHide;
    private clearHideTimeout;
    private updateDimensions;
    private cleanup;
    private setupRouteChanges;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollbarArea, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ScrollbarArea, "ngs-scrollbar-area", ["ngsScrollbarArea"], { "scrollbarWidth": { "alias": "scrollbarWidth"; "required": false; "isSignal": true; }; "autoHide": { "alias": "autoHide"; "required": false; "isSignal": true; }; "absolute": { "alias": "absolute"; "required": false; "isSignal": true; }; }, { "scrolled": "scrolled"; }, never, ["*"], true, never>;
}

export { ScrollbarArea };
