import { hasSlotContent } from '../../common/utils';
declare const _default: import('vue').DefineComponent<{
    open: {
        type: BooleanConstructor;
        default: null;
    };
    openOnContext: {
        type: BooleanConstructor;
        default: boolean;
    };
    elementType: {
        type: StringConstructor;
        default: string;
    };
    transition: {
        type: StringConstructor;
        default: string;
    };
    role: {
        type: StringConstructor;
        default: string;
        validator: (role: unknown) => boolean;
    };
    ariaLabelledby: {
        type: StringConstructor;
        default: null;
    };
    ariaLabel: {
        type: StringConstructor;
        default: null;
    };
    padding: {
        type: StringConstructor;
        default: string;
        validator: (padding: unknown) => boolean;
    };
    contentClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    contentWidth: {
        type: StringConstructor;
        default: string;
        validator: (contentWidth: unknown) => boolean;
    };
    contentAppear: {
        type: BooleanConstructor;
        default: null;
    };
    contentTabindex: {
        type: NumberConstructor;
        default: number;
    };
    externalAnchor: {
        type: StringConstructor;
        default: string;
    };
    id: {
        type: StringConstructor;
        default(): string;
    };
    offset: {
        type: ArrayConstructor;
        default: () => number[];
    };
    hideOnClick: {
        type: BooleanConstructor;
        default: boolean;
    };
    modal: {
        type: BooleanConstructor;
        default: boolean;
    };
    fallbackPlacements: {
        type: ArrayConstructor;
        default: () => string[];
    };
    placement: {
        type: StringConstructor;
        default: string;
    };
    tether: {
        type: BooleanConstructor;
        default: boolean;
    };
    sticky: {
        type: (StringConstructor | BooleanConstructor)[];
        default: boolean;
        validator: (sticky: unknown) => boolean;
    };
    maxHeight: {
        type: StringConstructor;
        default: string;
    };
    maxWidth: {
        type: StringConstructor;
        default: string;
    };
    showCloseButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    headerClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    footerClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    dialogClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    initialFocusElement: {
        type: ({
            new (): HTMLElement;
            prototype: HTMLElement;
        } | StringConstructor)[];
        default: string;
        validator: (initialFocusElement: unknown) => any;
    };
    openWithArrowKeys: {
        type: BooleanConstructor;
        default: boolean;
    };
    appendTo: {
        type: ({
            new (): HTMLElement;
            prototype: HTMLElement;
        } | StringConstructor)[];
        default: string;
        validator: (appendTo: unknown) => boolean;
    };
}, any, {
    POPOVER_PADDING_CLASSES: {
        none: undefined;
        small: string;
        medium: string;
        large: string;
    };
    POPOVER_HEADER_FOOTER_PADDING_CLASSES: {
        none: undefined;
        small: string;
        medium: string;
        large: string;
    };
    intersectionObserver: null;
    isOutsideViewport: boolean;
    isOpen: boolean;
    toAppear: boolean;
    anchorEl: null;
    popoverContentEl: null;
    hasSlotContent: typeof hasSlotContent;
}, {
    popoverListeners(): {
        keydown: (event: any) => void;
        'after-leave': (event: any) => void;
        'after-enter': (event: any) => void;
    };
    calculatedMaxHeight(): "calc(100vh - var(--dt-space-300))";
    labelledBy(): never;
}, {
    hasIntersectedViewport(entries: any): void;
    popperOptions(): {
        modifiers: ({
            name: string;
            options: {
                fallbackPlacements: any[];
                boundary: string;
                altAxis?: undefined;
                tether?: undefined;
            };
            enabled?: undefined;
        } | {
            name: string;
            enabled: boolean;
            options?: undefined;
        } | {
            name: string;
            options: {
                altAxis: boolean;
                tether: boolean;
                fallbackPlacements?: undefined;
                boundary?: undefined;
            };
            enabled?: undefined;
        })[];
    };
    validateProps(): void;
    calculateAnchorZindex(): 300 | 650;
    defaultToggleOpen(e: any): void;
    onContext(event: any): Promise<void>;
    toggleOpen(): void;
    onArrowKeyPress(e: any): void;
    addEventListeners(): void;
    removeEventListeners(): void;
    closePopover(): void;
    preventScrolling(): void;
    enableScrolling(): void;
    removeReferences(): void;
    onShow(): Promise<void>;
    onLeaveTransitionComplete(): Promise<void>;
    onEnterTransitionComplete(): Promise<void>;
    focusInitialElement(): void;
    focusInitialElementById(): void;
    onResize(): void;
    onClickOutside(): void;
    onKeydown(e: any): void;
    setPopoverContentAnchorWidth(): Promise<void>;
    focusFirstElementIfNeeded(domEl: any): void;
    getReferenceClientRect(error: any): any;
    initTippyInstance(): void;
    onMouseEnter(): void;
    onMouseLeave(): void;
    onMouseEnterAnchor(): void;
    onMouseLeaveAnchor(): void;
}, {
    methods: {
        getFirstFocusableElement(el: object): Promise<any>;
        focusFirstElement(el?: object): Promise<void>;
        focusElementById(elementId: any): Promise<void>;
        _getFirstFocusElement(focusableElements: any): any;
        _getFocusableElements(el?: object, includeNegativeTabIndex?: bool): any[];
        focusTrappedTabPress(e: object, el: object): void;
    };
}, import('vue').ComponentOptionsMixin, ("keydown" | "update:open" | "opened" | "mouseenter-popover" | "mouseleave-popover" | "mouseenter-popover-anchor" | "mouseleave-popover-anchor")[], "keydown" | "update:open" | "opened" | "mouseenter-popover" | "mouseleave-popover" | "mouseenter-popover-anchor" | "mouseleave-popover-anchor", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    open: {
        type: BooleanConstructor;
        default: null;
    };
    openOnContext: {
        type: BooleanConstructor;
        default: boolean;
    };
    elementType: {
        type: StringConstructor;
        default: string;
    };
    transition: {
        type: StringConstructor;
        default: string;
    };
    role: {
        type: StringConstructor;
        default: string;
        validator: (role: unknown) => boolean;
    };
    ariaLabelledby: {
        type: StringConstructor;
        default: null;
    };
    ariaLabel: {
        type: StringConstructor;
        default: null;
    };
    padding: {
        type: StringConstructor;
        default: string;
        validator: (padding: unknown) => boolean;
    };
    contentClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    contentWidth: {
        type: StringConstructor;
        default: string;
        validator: (contentWidth: unknown) => boolean;
    };
    contentAppear: {
        type: BooleanConstructor;
        default: null;
    };
    contentTabindex: {
        type: NumberConstructor;
        default: number;
    };
    externalAnchor: {
        type: StringConstructor;
        default: string;
    };
    id: {
        type: StringConstructor;
        default(): string;
    };
    offset: {
        type: ArrayConstructor;
        default: () => number[];
    };
    hideOnClick: {
        type: BooleanConstructor;
        default: boolean;
    };
    modal: {
        type: BooleanConstructor;
        default: boolean;
    };
    fallbackPlacements: {
        type: ArrayConstructor;
        default: () => string[];
    };
    placement: {
        type: StringConstructor;
        default: string;
    };
    tether: {
        type: BooleanConstructor;
        default: boolean;
    };
    sticky: {
        type: (StringConstructor | BooleanConstructor)[];
        default: boolean;
        validator: (sticky: unknown) => boolean;
    };
    maxHeight: {
        type: StringConstructor;
        default: string;
    };
    maxWidth: {
        type: StringConstructor;
        default: string;
    };
    showCloseButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    headerClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    footerClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    dialogClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    initialFocusElement: {
        type: ({
            new (): HTMLElement;
            prototype: HTMLElement;
        } | StringConstructor)[];
        default: string;
        validator: (initialFocusElement: unknown) => any;
    };
    openWithArrowKeys: {
        type: BooleanConstructor;
        default: boolean;
    };
    appendTo: {
        type: ({
            new (): HTMLElement;
            prototype: HTMLElement;
        } | StringConstructor)[];
        default: string;
        validator: (appendTo: unknown) => boolean;
    };
}>> & {
    onKeydown?: ((...args: any[]) => any) | undefined;
    "onUpdate:open"?: ((...args: any[]) => any) | undefined;
    onOpened?: ((...args: any[]) => any) | undefined;
    "onMouseenter-popover"?: ((...args: any[]) => any) | undefined;
    "onMouseleave-popover"?: ((...args: any[]) => any) | undefined;
    "onMouseenter-popover-anchor"?: ((...args: any[]) => any) | undefined;
    "onMouseleave-popover-anchor"?: ((...args: any[]) => any) | undefined;
}, {
    id: string;
    role: string;
    offset: unknown[];
    open: boolean;
    ariaLabel: string;
    transition: string;
    dialogClass: string | Record<string, any> | unknown[];
    maxHeight: string;
    contentClass: string | Record<string, any> | unknown[];
    headerClass: string | Record<string, any> | unknown[];
    footerClass: string | Record<string, any> | unknown[];
    elementType: string;
    maxWidth: string;
    fallbackPlacements: unknown[];
    tether: boolean;
    appendTo: string | HTMLElement;
    hideOnClick: boolean;
    placement: string;
    sticky: string | boolean;
    externalAnchor: string;
    showCloseButton: boolean;
    contentAppear: boolean;
    modal: boolean;
    openOnContext: boolean;
    ariaLabelledby: string;
    padding: string;
    contentWidth: string;
    contentTabindex: number;
    initialFocusElement: string | HTMLElement;
    openWithArrowKeys: boolean;
}, {}>;
export default _default;
//# sourceMappingURL=popover.vue.d.ts.map