import type { ExtractPropTypes, PropType } from 'vue';
import type { PopupDirectionType, PopupCallbackInterface } from './interface';
export declare const Props: {
    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<PopupCallbackInterface>;
        readonly default: () => null;
    };
    readonly close: {
        readonly type: PropType<PopupCallbackInterface>;
        readonly default: () => null;
    };
    readonly openEnd: {
        readonly type: PropType<PopupCallbackInterface>;
        readonly default: () => null;
    };
    readonly closeEnd: {
        readonly type: PropType<PopupCallbackInterface>;
        readonly default: () => null;
    };
};
export declare const Emits: {
    readonly 'update:visible': (visible: boolean) => boolean;
};
export declare type PopupPropsType = ExtractPropTypes<typeof Props>;
