import { App } from 'vue';
declare const OPopover: {
    new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
        };
        position: {
            type: import('vue').PropType<import('..').PopupPositionT>;
            default: string;
        };
        trigger: {
            type: import('vue').PropType<import('..').PopupTriggerT | import('..').PopupTriggerT[]>;
            default: string;
        };
        target: {
            type: import('vue').PropType<string | import('vue').ComponentPublicInstance | HTMLElement | null>;
            default: null;
        };
        disabled: {
            type: BooleanConstructor;
        };
        wrapper: {
            type: import('vue').PropType<string | HTMLElement | null>;
            default: string;
        };
        offset: {
            type: NumberConstructor;
            default: number;
        };
        edgeOffset: {
            type: NumberConstructor;
            default: number;
        };
        hoverDelay: {
            type: NumberConstructor;
            default: number;
        };
        hideWhenTargetInvisible: {
            type: BooleanConstructor;
            default: boolean;
        };
        anchor: {
            type: BooleanConstructor;
            default: boolean;
        };
        anchorClass: {
            type: import('vue').PropType<string | any[]>;
            default: undefined;
        };
        unmountOnHide: {
            type: BooleanConstructor;
            default: boolean;
        };
        wrapClass: {
            type: import('vue').PropType<string | any[]>;
            default: undefined;
        };
        bodyClass: {
            type: import('vue').PropType<string | any[]>;
            default: undefined;
        };
        adjustMinWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        adjustWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        transition: {
            type: StringConstructor;
            default: string;
        };
        autoHide: {
            type: BooleanConstructor;
            default: boolean;
        };
        beforeShow: {
            type: import('vue').PropType<() => Promise<boolean> | boolean>;
        };
        beforeHide: {
            type: import('vue').PropType<() => Promise<boolean> | boolean>;
        };
        adaptive: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        "onUpdate:visible"?: ((val: boolean) => any) | undefined;
    }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
        "update:visible": (val: boolean) => any;
    }, import('vue').PublicProps, {
        position: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
        target: string | HTMLElement | import('vue').ComponentPublicInstance | null;
        disabled: boolean;
        offset: number;
        transition: string;
        visible: boolean;
        trigger: "none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick" | ("none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick")[];
        wrapper: string | HTMLElement | null;
        edgeOffset: number;
        hoverDelay: number;
        hideWhenTargetInvisible: boolean;
        anchor: boolean;
        anchorClass: string | any[];
        unmountOnHide: boolean;
        wrapClass: string | any[];
        bodyClass: string | any[];
        adjustMinWidth: boolean;
        adjustWidth: boolean;
        autoHide: boolean;
        adaptive: boolean;
    }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import('vue').ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
        };
        position: {
            type: import('vue').PropType<import('..').PopupPositionT>;
            default: string;
        };
        trigger: {
            type: import('vue').PropType<import('..').PopupTriggerT | import('..').PopupTriggerT[]>;
            default: string;
        };
        target: {
            type: import('vue').PropType<string | import('vue').ComponentPublicInstance | HTMLElement | null>;
            default: null;
        };
        disabled: {
            type: BooleanConstructor;
        };
        wrapper: {
            type: import('vue').PropType<string | HTMLElement | null>;
            default: string;
        };
        offset: {
            type: NumberConstructor;
            default: number;
        };
        edgeOffset: {
            type: NumberConstructor;
            default: number;
        };
        hoverDelay: {
            type: NumberConstructor;
            default: number;
        };
        hideWhenTargetInvisible: {
            type: BooleanConstructor;
            default: boolean;
        };
        anchor: {
            type: BooleanConstructor;
            default: boolean;
        };
        anchorClass: {
            type: import('vue').PropType<string | any[]>;
            default: undefined;
        };
        unmountOnHide: {
            type: BooleanConstructor;
            default: boolean;
        };
        wrapClass: {
            type: import('vue').PropType<string | any[]>;
            default: undefined;
        };
        bodyClass: {
            type: import('vue').PropType<string | any[]>;
            default: undefined;
        };
        adjustMinWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        adjustWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        transition: {
            type: StringConstructor;
            default: string;
        };
        autoHide: {
            type: BooleanConstructor;
            default: boolean;
        };
        beforeShow: {
            type: import('vue').PropType<() => Promise<boolean> | boolean>;
        };
        beforeHide: {
            type: import('vue').PropType<() => Promise<boolean> | boolean>;
        };
        adaptive: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        "onUpdate:visible"?: ((val: boolean) => any) | undefined;
    }>, {}, {}, {}, {}, {
        position: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
        target: string | HTMLElement | import('vue').ComponentPublicInstance | null;
        disabled: boolean;
        offset: number;
        transition: string;
        visible: boolean;
        trigger: "none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick" | ("none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick")[];
        wrapper: string | HTMLElement | null;
        edgeOffset: number;
        hoverDelay: number;
        hideWhenTargetInvisible: boolean;
        anchor: boolean;
        anchorClass: string | any[];
        unmountOnHide: boolean;
        wrapClass: string | any[];
        bodyClass: string | any[];
        adjustMinWidth: boolean;
        adjustWidth: boolean;
        autoHide: boolean;
        adaptive: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
    };
    position: {
        type: import('vue').PropType<import('..').PopupPositionT>;
        default: string;
    };
    trigger: {
        type: import('vue').PropType<import('..').PopupTriggerT | import('..').PopupTriggerT[]>;
        default: string;
    };
    target: {
        type: import('vue').PropType<string | import('vue').ComponentPublicInstance | HTMLElement | null>;
        default: null;
    };
    disabled: {
        type: BooleanConstructor;
    };
    wrapper: {
        type: import('vue').PropType<string | HTMLElement | null>;
        default: string;
    };
    offset: {
        type: NumberConstructor;
        default: number;
    };
    edgeOffset: {
        type: NumberConstructor;
        default: number;
    };
    hoverDelay: {
        type: NumberConstructor;
        default: number;
    };
    hideWhenTargetInvisible: {
        type: BooleanConstructor;
        default: boolean;
    };
    anchor: {
        type: BooleanConstructor;
        default: boolean;
    };
    anchorClass: {
        type: import('vue').PropType<string | any[]>;
        default: undefined;
    };
    unmountOnHide: {
        type: BooleanConstructor;
        default: boolean;
    };
    wrapClass: {
        type: import('vue').PropType<string | any[]>;
        default: undefined;
    };
    bodyClass: {
        type: import('vue').PropType<string | any[]>;
        default: undefined;
    };
    adjustMinWidth: {
        type: BooleanConstructor;
        default: boolean;
    };
    adjustWidth: {
        type: BooleanConstructor;
        default: boolean;
    };
    transition: {
        type: StringConstructor;
        default: string;
    };
    autoHide: {
        type: BooleanConstructor;
        default: boolean;
    };
    beforeShow: {
        type: import('vue').PropType<() => Promise<boolean> | boolean>;
    };
    beforeHide: {
        type: import('vue').PropType<() => Promise<boolean> | boolean>;
    };
    adaptive: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    "onUpdate:visible"?: ((val: boolean) => any) | undefined;
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    "update:visible": (val: boolean) => any;
}, string, {
    position: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
    target: string | HTMLElement | import('vue').ComponentPublicInstance | null;
    disabled: boolean;
    offset: number;
    transition: string;
    visible: boolean;
    trigger: "none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick" | ("none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick")[];
    wrapper: string | HTMLElement | null;
    edgeOffset: number;
    hoverDelay: number;
    hideWhenTargetInvisible: boolean;
    anchor: boolean;
    anchorClass: string | any[];
    unmountOnHide: boolean;
    wrapClass: string | any[];
    bodyClass: string | any[];
    adjustMinWidth: boolean;
    adjustWidth: boolean;
    autoHide: boolean;
    adaptive: boolean;
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
    $slots: {
        target?(_: {}): any;
        target?(_: {}): any;
        default?(_: {}): any;
    };
}) & {
    install(app: App): void;
};
export { OPopover };
export * from './types';
