import type { DefineComponent, PropType, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ComputedRef,  CSSProperties } from 'vue';
import type { OrdinaryFunctionInterface as a } from '../../_interface';
import type { PopupDirectionType, PopupCallbackInterface as b } from './interface';
declare const _sfc_main: DefineComponent<{
    readonly visible: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
        readonly required: true;
    };
    readonly appendToBody: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly showMask: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly maskClose: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly maskBlur: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly zIndex: {
        readonly type: NumberConstructor;
        readonly default: () => Number;
        readonly validator: (val: number) => boolean;
    };
    readonly maskBackground: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly maskOpacity: {
        readonly type: NumberConstructor;
        readonly default: () => null;
        readonly validator: (val: number) => boolean;
    };
    readonly direction: {
        readonly type: PropType<PopupDirectionType>;
        readonly default: () => PopupDirectionType;
        readonly validator: (val: PopupDirectionType) => boolean;
    };
    readonly popupSize: {
        readonly type: PropType<string | number>;
        readonly default: () => string;
    };
    readonly padding: {
        readonly type: PropType<string | number>;
        readonly default: () => string;
    };
    readonly open: {
        readonly type: PropType<b>;
        readonly default: () => null;
    };
    readonly close: {
        readonly type: PropType<b>;
        readonly default: () => null;
    };
    readonly openEnd: {
        readonly type: PropType<b>;
        readonly default: () => null;
    };
    readonly closeEnd: {
        readonly type: PropType<b>;
        readonly default: () => null;
    };
}, {
    prop: {
        readonly visible?: unknown;
        readonly appendToBody?: unknown;
        readonly showMask?: unknown;
        readonly maskClose?: unknown;
        readonly maskBlur?: unknown;
        readonly zIndex?: unknown;
        readonly maskBackground?: unknown;
        readonly maskOpacity?: unknown;
        readonly direction?: unknown;
        readonly popupSize?: unknown;
        readonly padding?: unknown;
        readonly open?: unknown;
        readonly close?: unknown;
        readonly openEnd?: unknown;
        readonly closeEnd?: unknown;
    } & {
        close: b;
        closeEnd: b;
        padding: string | number;
        zIndex: number;
        visible: boolean;
        appendToBody: boolean;
        showMask: boolean;
        maskClose: boolean;
        maskBlur: boolean;
        open: b;
        openEnd: b;
        maskBackground: string;
        maskOpacity: number;
        direction: PopupDirectionType;
        popupSize: string | number;
    } & {};
    emit: (event: "update:visible", visible: boolean) => void;
    closePopup: a;
    handleOpen: b;
    handleOpenEnd: b;
    handleClose: b;
    handleCloseEnd: b;
    wrapperStyleList: ComputedRef<CSSProperties>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    readonly 'update:visible': (visible: boolean) => boolean;
}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
    readonly visible?: unknown;
    readonly appendToBody?: unknown;
    readonly showMask?: unknown;
    readonly maskClose?: unknown;
    readonly maskBlur?: unknown;
    readonly zIndex?: unknown;
    readonly maskBackground?: unknown;
    readonly maskOpacity?: unknown;
    readonly direction?: unknown;
    readonly popupSize?: unknown;
    readonly padding?: unknown;
    readonly open?: unknown;
    readonly close?: unknown;
    readonly openEnd?: unknown;
    readonly closeEnd?: unknown;
} & {
    close: b;
    closeEnd: b;
    padding: string | number;
    zIndex: number;
    visible: boolean;
    appendToBody: boolean;
    showMask: boolean;
    maskClose: boolean;
    maskBlur: boolean;
    open: b;
    openEnd: b;
    maskBackground: string;
    maskOpacity: number;
    direction: PopupDirectionType;
    popupSize: string | number;
} & {}> & {
    "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
}, {
    close: b;
    closeEnd: b;
    padding: string | number;
    zIndex: number;
    appendToBody: boolean;
    showMask: boolean;
    maskClose: boolean;
    maskBlur: boolean;
    open: b;
    openEnd: b;
    maskBackground: string;
    maskOpacity: number;
    direction: PopupDirectionType;
    popupSize: string | number;
}>;
export default _sfc_main;
