import { IScrollablePaneStyles, ScrollbarVisibility } from './ScrollablePane.types';
import BaseComponent from '../BaseComponent';
import { CreateElement } from 'vue';
export declare class ScrollablePaneBase extends BaseComponent {
    $refs: {
        root: HTMLDivElement;
        stickyAbove: HTMLDivElement;
        stickyBelow: HTMLDivElement;
        contentContainer: HTMLDivElement;
    };
    initialScrollPosition: number;
    scrollbarVisibility: ScrollbarVisibility;
    stickyTopHeight: number;
    stickyBottomHeight: number;
    scrollbarWidth: number;
    scrollbarHeight: number;
    private subscribers;
    private stickies;
    private notifyThrottled;
    private mutationObserver;
    created(): void;
    mounted(): void;
    get classNames(): import("@uifabric/merge-styles").IProcessedStyleSet<IScrollablePaneStyles>;
    setStickiesDistanceFromTop(): void;
    forceLayoutUpdate(): void;
    subscribe(handler: Function): void;
    unsubscribe(handler: Function): void;
    addSticky(sticky: any): void;
    removeSticky(sticky: any): void;
    sortSticky(sticky: any, sortAgain?: boolean): void;
    updateStickyRefHeights(): void;
    notifySubscribers(): void;
    getScrollPosition(): number;
    syncScrollSticky(sticky: any): void;
    private _checkStickyStatus;
    private _addToStickyContainer;
    private _removeStickyFromContainers;
    private _onWindowResize;
    private getStickyContainerStyle;
    private _getScrollbarWidth;
    private _getScrollbarHeight;
    private _onScroll;
    render(h: CreateElement): import("vue").VNode;
}
//# sourceMappingURL=ScrollablePane.base.d.ts.map