import { TdPopupProps } from './type';
import './style';
export * from './type';
export type PopupProps = TdPopupProps;
export declare const Popup: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        attach: {
            type: import("vue").PropType<TdPopupProps['attach']>;
            default: TdPopupProps['attach'];
        };
        closeBtn: {
            type: import("vue").PropType<TdPopupProps['closeBtn']>;
        };
        closeOnOverlayClick: {
            type: BooleanConstructor;
            default: boolean;
        };
        destroyOnClose: BooleanConstructor;
        duration: {
            type: NumberConstructor;
            default: number;
        };
        overlayProps: {
            type: import("vue").PropType<TdPopupProps['overlayProps']>;
            default: () => {};
        };
        placement: {
            type: import("vue").PropType<TdPopupProps['placement']>;
            default: TdPopupProps['placement'];
            validator(val: TdPopupProps['placement']): boolean;
        };
        preventScrollThrough: {
            type: BooleanConstructor;
            default: boolean;
        };
        showOverlay: {
            type: BooleanConstructor;
            default: boolean;
        };
        transitionName: {
            type: StringConstructor;
            default: string;
        };
        visible: {
            type: BooleanConstructor;
            default: any;
        };
        modelValue: {
            type: BooleanConstructor;
            default: any;
        };
        defaultVisible: BooleanConstructor;
        zIndex: {
            type: NumberConstructor;
        };
        onClose: import("vue").PropType<TdPopupProps['onClose']>;
        onClosed: import("vue").PropType<TdPopupProps['onClosed']>;
        onOpen: import("vue").PropType<TdPopupProps['onOpen']>;
        onOpened: import("vue").PropType<TdPopupProps['onOpened']>;
        onVisibleChange: import("vue").PropType<TdPopupProps['onVisibleChange']>;
    }>> & Readonly<{
        onClose?: (...args: any[]) => any;
        onClosed?: (...args: any[]) => any;
        onOpen?: (...args: any[]) => any;
        onOpened?: (...args: any[]) => any;
        "onUpdate:modelValue"?: (...args: any[]) => any;
        "onUpdate:visible"?: (...args: any[]) => any;
        "onVisible-change"?: (...args: any[]) => any;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "closed" | "open" | "opened" | "update:modelValue" | "update:visible" | "visible-change")[], import("vue").PublicProps, {
        attach: import("@/common").AttachNode;
        closeOnOverlayClick: boolean;
        destroyOnClose: boolean;
        duration: number;
        overlayProps: import("@/overlay/type").TdOverlayProps;
        placement: "bottom" | "center" | "left" | "right" | "top";
        preventScrollThrough: boolean;
        showOverlay: boolean;
        transitionName: string;
        visible: boolean;
        modelValue: boolean;
        defaultVisible: boolean;
    }, true, {}, {}, {
        TNode: {
            (props: {
                content: any;
            }): any;
            props: string[];
        };
        TOverlay: {
            new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
                backgroundColor: {
                    type: StringConstructor;
                    default: string;
                };
                customStyle: {
                    type: StringConstructor;
                    default: string;
                };
                duration: {
                    type: NumberConstructor;
                    default: number;
                };
                preventScrollThrough: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                visible: BooleanConstructor;
                zIndex: {
                    type: NumberConstructor;
                    default: number;
                };
                onClick: import("vue").PropType<import("@/overlay/type").TdOverlayProps['onClick']>;
            }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
                backgroundColor: string;
                customStyle: string;
                duration: number;
                preventScrollThrough: boolean;
                visible: boolean;
                zIndex: number;
            }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import("vue").ExtractPropTypes<{
                backgroundColor: {
                    type: StringConstructor;
                    default: string;
                };
                customStyle: {
                    type: StringConstructor;
                    default: string;
                };
                duration: {
                    type: NumberConstructor;
                    default: number;
                };
                preventScrollThrough: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                visible: BooleanConstructor;
                zIndex: {
                    type: NumberConstructor;
                    default: number;
                };
                onClick: import("vue").PropType<import("@/overlay/type").TdOverlayProps['onClick']>;
            }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
                backgroundColor: string;
                customStyle: string;
                duration: number;
                preventScrollThrough: boolean;
                visible: boolean;
                zIndex: number;
            }>;
            __isFragment?: never;
            __isTeleport?: never;
            __isSuspense?: never;
        } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            backgroundColor: {
                type: StringConstructor;
                default: string;
            };
            customStyle: {
                type: StringConstructor;
                default: string;
            };
            duration: {
                type: NumberConstructor;
                default: number;
            };
            preventScrollThrough: {
                type: BooleanConstructor;
                default: boolean;
            };
            visible: BooleanConstructor;
            zIndex: {
                type: NumberConstructor;
                default: number;
            };
            onClick: import("vue").PropType<import("@/overlay/type").TdOverlayProps['onClick']>;
        }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            backgroundColor: string;
            customStyle: string;
            duration: number;
            preventScrollThrough: boolean;
            visible: boolean;
            zIndex: number;
        }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
    } & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        attach: {
            type: import("vue").PropType<TdPopupProps['attach']>;
            default: TdPopupProps['attach'];
        };
        closeBtn: {
            type: import("vue").PropType<TdPopupProps['closeBtn']>;
        };
        closeOnOverlayClick: {
            type: BooleanConstructor;
            default: boolean;
        };
        destroyOnClose: BooleanConstructor;
        duration: {
            type: NumberConstructor;
            default: number;
        };
        overlayProps: {
            type: import("vue").PropType<TdPopupProps['overlayProps']>;
            default: () => {};
        };
        placement: {
            type: import("vue").PropType<TdPopupProps['placement']>;
            default: TdPopupProps['placement'];
            validator(val: TdPopupProps['placement']): boolean;
        };
        preventScrollThrough: {
            type: BooleanConstructor;
            default: boolean;
        };
        showOverlay: {
            type: BooleanConstructor;
            default: boolean;
        };
        transitionName: {
            type: StringConstructor;
            default: string;
        };
        visible: {
            type: BooleanConstructor;
            default: any;
        };
        modelValue: {
            type: BooleanConstructor;
            default: any;
        };
        defaultVisible: BooleanConstructor;
        zIndex: {
            type: NumberConstructor;
        };
        onClose: import("vue").PropType<TdPopupProps['onClose']>;
        onClosed: import("vue").PropType<TdPopupProps['onClosed']>;
        onOpen: import("vue").PropType<TdPopupProps['onOpen']>;
        onOpened: import("vue").PropType<TdPopupProps['onOpened']>;
        onVisibleChange: import("vue").PropType<TdPopupProps['onVisibleChange']>;
    }>> & Readonly<{
        onClose?: (...args: any[]) => any;
        onClosed?: (...args: any[]) => any;
        onOpen?: (...args: any[]) => any;
        onOpened?: (...args: any[]) => any;
        "onUpdate:modelValue"?: (...args: any[]) => any;
        "onUpdate:visible"?: (...args: any[]) => any;
        "onVisible-change"?: (...args: any[]) => any;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
        attach: import("@/common").AttachNode;
        closeOnOverlayClick: boolean;
        destroyOnClose: boolean;
        duration: number;
        overlayProps: import("@/overlay/type").TdOverlayProps;
        placement: "bottom" | "center" | "left" | "right" | "top";
        preventScrollThrough: boolean;
        showOverlay: boolean;
        transitionName: string;
        visible: boolean;
        modelValue: boolean;
        defaultVisible: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    attach: {
        type: import("vue").PropType<TdPopupProps['attach']>;
        default: TdPopupProps['attach'];
    };
    closeBtn: {
        type: import("vue").PropType<TdPopupProps['closeBtn']>;
    };
    closeOnOverlayClick: {
        type: BooleanConstructor;
        default: boolean;
    };
    destroyOnClose: BooleanConstructor;
    duration: {
        type: NumberConstructor;
        default: number;
    };
    overlayProps: {
        type: import("vue").PropType<TdPopupProps['overlayProps']>;
        default: () => {};
    };
    placement: {
        type: import("vue").PropType<TdPopupProps['placement']>;
        default: TdPopupProps['placement'];
        validator(val: TdPopupProps['placement']): boolean;
    };
    preventScrollThrough: {
        type: BooleanConstructor;
        default: boolean;
    };
    showOverlay: {
        type: BooleanConstructor;
        default: boolean;
    };
    transitionName: {
        type: StringConstructor;
        default: string;
    };
    visible: {
        type: BooleanConstructor;
        default: any;
    };
    modelValue: {
        type: BooleanConstructor;
        default: any;
    };
    defaultVisible: BooleanConstructor;
    zIndex: {
        type: NumberConstructor;
    };
    onClose: import("vue").PropType<TdPopupProps['onClose']>;
    onClosed: import("vue").PropType<TdPopupProps['onClosed']>;
    onOpen: import("vue").PropType<TdPopupProps['onOpen']>;
    onOpened: import("vue").PropType<TdPopupProps['onOpened']>;
    onVisibleChange: import("vue").PropType<TdPopupProps['onVisibleChange']>;
}>> & Readonly<{
    onClose?: (...args: any[]) => any;
    onClosed?: (...args: any[]) => any;
    onOpen?: (...args: any[]) => any;
    onOpened?: (...args: any[]) => any;
    "onUpdate:modelValue"?: (...args: any[]) => any;
    "onUpdate:visible"?: (...args: any[]) => any;
    "onVisible-change"?: (...args: any[]) => any;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "closed" | "open" | "opened" | "update:modelValue" | "update:visible" | "visible-change")[], "close" | "closed" | "open" | "opened" | "update:modelValue" | "update:visible" | "visible-change", {
    attach: import("@/common").AttachNode;
    closeOnOverlayClick: boolean;
    destroyOnClose: boolean;
    duration: number;
    overlayProps: import("@/overlay/type").TdOverlayProps;
    placement: "bottom" | "center" | "left" | "right" | "top";
    preventScrollThrough: boolean;
    showOverlay: boolean;
    transitionName: string;
    visible: boolean;
    modelValue: boolean;
    defaultVisible: boolean;
}, {}, string, {}, {
    TNode: {
        (props: {
            content: any;
        }): any;
        props: string[];
    };
    TOverlay: {
        new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
            backgroundColor: {
                type: StringConstructor;
                default: string;
            };
            customStyle: {
                type: StringConstructor;
                default: string;
            };
            duration: {
                type: NumberConstructor;
                default: number;
            };
            preventScrollThrough: {
                type: BooleanConstructor;
                default: boolean;
            };
            visible: BooleanConstructor;
            zIndex: {
                type: NumberConstructor;
                default: number;
            };
            onClick: import("vue").PropType<import("@/overlay/type").TdOverlayProps['onClick']>;
        }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
            backgroundColor: string;
            customStyle: string;
            duration: number;
            preventScrollThrough: boolean;
            visible: boolean;
            zIndex: number;
        }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import("vue").ExtractPropTypes<{
            backgroundColor: {
                type: StringConstructor;
                default: string;
            };
            customStyle: {
                type: StringConstructor;
                default: string;
            };
            duration: {
                type: NumberConstructor;
                default: number;
            };
            preventScrollThrough: {
                type: BooleanConstructor;
                default: boolean;
            };
            visible: BooleanConstructor;
            zIndex: {
                type: NumberConstructor;
                default: number;
            };
            onClick: import("vue").PropType<import("@/overlay/type").TdOverlayProps['onClick']>;
        }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
            backgroundColor: string;
            customStyle: string;
            duration: number;
            preventScrollThrough: boolean;
            visible: boolean;
            zIndex: number;
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
        backgroundColor: {
            type: StringConstructor;
            default: string;
        };
        customStyle: {
            type: StringConstructor;
            default: string;
        };
        duration: {
            type: NumberConstructor;
            default: number;
        };
        preventScrollThrough: {
            type: BooleanConstructor;
            default: boolean;
        };
        visible: BooleanConstructor;
        zIndex: {
            type: NumberConstructor;
            default: number;
        };
        onClick: import("vue").PropType<import("@/overlay/type").TdOverlayProps['onClick']>;
    }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
        backgroundColor: string;
        customStyle: string;
        duration: number;
        preventScrollThrough: boolean;
        visible: boolean;
        zIndex: number;
    }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
} & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
export default Popup;
