import Vue from 'vue';
import { PopupVisibleChangeContext } from './type';
import { Styles, ClassName } from '../common';
declare const _default: import("vue/types/vue").ExtendedVue<Vue, {
    name: string;
    referenceElm: any;
    resizeSensor: any;
    popper: any;
    timeout: any;
    refOverlayElm: any;
    hasDocumentEvent: boolean;
    presetMaxHeight: any;
}, {
    createPopper(): void;
    updatePopper(): void;
    updateOverlayStyle(): void;
    setOverlayStyle(styles: Styles): void;
    destroyPopper(el: HTMLElement): void;
    handleToggle(context: PopupVisibleChangeContext): void;
    handleOpen(context: Pick<PopupVisibleChangeContext, 'trigger'>, openParent?: boolean): void;
    handleClose(context: Pick<PopupVisibleChangeContext, 'trigger'>, closeParent?: boolean): void;
    handleDocumentClick(e: Event): void;
    emitPopVisible(val: boolean, context: PopupVisibleChangeContext): void;
    getContentElm(el: HTMLElement): HTMLElement;
    resetExpandStyles(el: HTMLElement): void;
    beforeEnter(el: HTMLElement): void;
    enter(el: HTMLElement): void;
    leave(el: HTMLElement): void;
    beforeLeave(el: HTMLElement): void;
}, {
    overlayClasses: ClassName;
    hasTrigger: Record<"click" | "focus" | "hover" | "context-menu", boolean>;
}, {
    expandAnimation: boolean;
    attach: import("../common").AttachNode;
    content: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    default: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    destroyOnClose: boolean;
    disabled: boolean;
    overlayClassName: ClassName;
    overlayStyle: Styles | ((trigger: HTMLElement) => Styles);
    placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
    showArrow: boolean;
    trigger: "click" | "focus" | "hover" | "context-menu";
    triggerElement: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    visible: boolean;
    defaultVisible: boolean;
    zIndex: number;
    onVisibleChange: (visible: boolean, context: PopupVisibleChangeContext) => void;
}>;
export default _default;
