import { IPanelProps, IPanelStyles, PanelType } from './Panel.types';
import BaseComponent from '../BaseComponent';
import { IconFontSizes } from '@uifabric/styling';
import { CreateElement } from 'vue';
declare enum PanelVisibilityState {
    closed = 0,
    animatingOpen = 1,
    open = 2,
    animatingClosed = 3
}
export declare class PanelBase extends BaseComponent<IPanelProps> {
    $refs: {
        scrollableContent: HTMLDivElement;
        panel: HTMLDivElement;
    };
    headerText: string;
    focusTrapZoneProps: any;
    headerClassName: any;
    type: PanelType;
    onDismiss: (ev: any) => {};
    onDismissed: () => {};
    onOpened: () => {};
    onOuterClick: () => {};
    hasCloseButton: boolean;
    isFooterAtBottom: boolean;
    isOpen: boolean;
    isHiddenOnDismiss: boolean;
    isBlocking: boolean;
    IconFontSizes: typeof IconFontSizes;
    isFooterSticky: boolean;
    id: string;
    visibility: PanelVisibilityState;
    private animationCallback;
    created(): void;
    private onIsOpenUpdated;
    private onVisibilityUpdated;
    get shouldListenForOuterClick(): boolean;
    get classNames(): import("@uifabric/styling").IProcessedStyleSet<IPanelStyles>;
    get isAnimating(): boolean;
    get isActive(): boolean;
    close(): void;
    dismiss(ev?: any): void;
    private dismissOnOuterClick;
    private updateFooterPosition;
    private animateTo;
    private clearExistingAnimationTimer;
    private _onTransitionComplete;
    render(h: CreateElement): import("vue").VNode | undefined;
}
export {};
//# sourceMappingURL=Panel.base.d.ts.map