import { type PropType, type VNodeChild } from 'vue';
import { type ModalBaseProps } from '../ModalBase';
export interface ModalProps extends ModalBaseProps {
    title?: VNodeChild | (() => VNodeChild);
    withOverlay?: boolean;
    overlayProps?: Record<string, any>;
    withCloseButton?: boolean;
    closeButtonProps?: Record<string, any>;
    centered?: boolean;
    fullScreen?: boolean;
    radius?: string | number;
    xOffset?: string | number;
    yOffset?: string | number;
    size?: string | number;
    scrollAreaComponent?: any;
    classNames?: any;
    styles?: any;
    vars?: any;
}
export declare const ModalRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    opened: {
        type: BooleanConstructor;
        required: true;
    };
    onClose: {
        type: PropType<() => void>;
        required: true;
    };
    centered: BooleanConstructor;
    fullScreen: BooleanConstructor;
    radius: (NumberConstructor | StringConstructor)[];
    xOffset: {
        type: (NumberConstructor | StringConstructor)[];
        default: string;
    };
    yOffset: {
        type: (NumberConstructor | StringConstructor)[];
        default: string;
    };
    size: {
        type: (NumberConstructor | StringConstructor)[];
        default: string;
    };
    scrollAreaComponent: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: BooleanConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    opened: {
        type: BooleanConstructor;
        required: true;
    };
    onClose: {
        type: PropType<() => void>;
        required: true;
    };
    centered: BooleanConstructor;
    fullScreen: BooleanConstructor;
    radius: (NumberConstructor | StringConstructor)[];
    xOffset: {
        type: (NumberConstructor | StringConstructor)[];
        default: string;
    };
    yOffset: {
        type: (NumberConstructor | StringConstructor)[];
        default: string;
    };
    size: {
        type: (NumberConstructor | StringConstructor)[];
        default: string;
    };
    scrollAreaComponent: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: BooleanConstructor;
}>> & Readonly<{}>, {
    size: string | number;
    classNames: Function | Record<string, any>;
    styles: Function | Record<string, any>;
    vars: Function | Record<string, any>;
    unstyled: boolean;
    centered: boolean;
    fullScreen: boolean;
    xOffset: string | number;
    yOffset: string | number;
    scrollAreaComponent: Function | Record<string, any>;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export declare const ModalBody: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    __hidden: BooleanConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    __hidden: BooleanConstructor;
}>> & Readonly<{}>, {
    visible: boolean;
    __hidden: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export declare const ModalCloseButton: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    __hidden: BooleanConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    __hidden: BooleanConstructor;
}>> & Readonly<{}>, {
    visible: boolean;
    __hidden: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export declare const ModalHeader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    __hidden: BooleanConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    __hidden: BooleanConstructor;
}>> & Readonly<{}>, {
    visible: boolean;
    __hidden: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export declare const ModalOverlay: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    __hidden: BooleanConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    __hidden: BooleanConstructor;
}>> & Readonly<{}>, {
    visible: boolean;
    __hidden: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export declare const ModalTitle: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    __hidden: BooleanConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    __hidden: BooleanConstructor;
}>> & Readonly<{}>, {
    visible: boolean;
    __hidden: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export declare const ModalContent: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    __hidden: BooleanConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        default: undefined;
    };
    transitionProps: ObjectConstructor;
    __hidden: BooleanConstructor;
}>> & Readonly<{}>, {
    visible: boolean;
    __hidden: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export declare const Modal: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        opened: {
            type: BooleanConstructor;
            required: true;
        };
        onClose: {
            type: PropType<() => void>;
            required: true;
        };
        title: {
            type: PropType<any>;
            default: undefined;
        };
        withOverlay: {
            type: BooleanConstructor;
            default: boolean;
        };
        overlayProps: ObjectConstructor;
        withCloseButton: {
            type: BooleanConstructor;
            default: boolean;
        };
        closeButtonProps: ObjectConstructor;
    }>> & Readonly<{}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
        title: any;
        withCloseButton: boolean;
        withOverlay: boolean;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        opened: {
            type: BooleanConstructor;
            required: true;
        };
        onClose: {
            type: PropType<() => void>;
            required: true;
        };
        title: {
            type: PropType<any>;
            default: undefined;
        };
        withOverlay: {
            type: BooleanConstructor;
            default: boolean;
        };
        overlayProps: ObjectConstructor;
        withCloseButton: {
            type: BooleanConstructor;
            default: boolean;
        };
        closeButtonProps: ObjectConstructor;
    }>> & Readonly<{}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, {
        title: any;
        withCloseButton: boolean;
        withOverlay: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    opened: {
        type: BooleanConstructor;
        required: true;
    };
    onClose: {
        type: PropType<() => void>;
        required: true;
    };
    title: {
        type: PropType<any>;
        default: undefined;
    };
    withOverlay: {
        type: BooleanConstructor;
        default: boolean;
    };
    overlayProps: ObjectConstructor;
    withCloseButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    closeButtonProps: ObjectConstructor;
}>> & Readonly<{}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    title: any;
    withCloseButton: boolean;
    withOverlay: boolean;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    classes: Record<string, string>;
    varsResolver: (theme: import("../..").MantineTheme, props: any, ctx: Record<string, any>) => Record<string, Record<string, string | undefined>>;
    Root: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        opened: {
            type: BooleanConstructor;
            required: true;
        };
        onClose: {
            type: PropType<() => void>;
            required: true;
        };
        centered: BooleanConstructor;
        fullScreen: BooleanConstructor;
        radius: (NumberConstructor | StringConstructor)[];
        xOffset: {
            type: (NumberConstructor | StringConstructor)[];
            default: string;
        };
        yOffset: {
            type: (NumberConstructor | StringConstructor)[];
            default: string;
        };
        size: {
            type: (NumberConstructor | StringConstructor)[];
            default: string;
        };
        scrollAreaComponent: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        classNames: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        styles: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        vars: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        unstyled: BooleanConstructor;
    }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        opened: {
            type: BooleanConstructor;
            required: true;
        };
        onClose: {
            type: PropType<() => void>;
            required: true;
        };
        centered: BooleanConstructor;
        fullScreen: BooleanConstructor;
        radius: (NumberConstructor | StringConstructor)[];
        xOffset: {
            type: (NumberConstructor | StringConstructor)[];
            default: string;
        };
        yOffset: {
            type: (NumberConstructor | StringConstructor)[];
            default: string;
        };
        size: {
            type: (NumberConstructor | StringConstructor)[];
            default: string;
        };
        scrollAreaComponent: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        classNames: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        styles: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        vars: {
            type: (ObjectConstructor | FunctionConstructor)[];
            default: undefined;
        };
        unstyled: BooleanConstructor;
    }>> & Readonly<{}>, {
        size: string | number;
        classNames: Function | Record<string, any>;
        styles: Function | Record<string, any>;
        vars: Function | Record<string, any>;
        unstyled: boolean;
        centered: boolean;
        fullScreen: boolean;
        xOffset: string | number;
        yOffset: string | number;
        scrollAreaComponent: Function | Record<string, any>;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    Overlay: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        __hidden: BooleanConstructor;
    }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        __hidden: BooleanConstructor;
    }>> & Readonly<{}>, {
        visible: boolean;
        __hidden: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    Content: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        __hidden: BooleanConstructor;
    }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        __hidden: BooleanConstructor;
    }>> & Readonly<{}>, {
        visible: boolean;
        __hidden: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    Body: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        __hidden: BooleanConstructor;
    }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        __hidden: BooleanConstructor;
    }>> & Readonly<{}>, {
        visible: boolean;
        __hidden: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    Header: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        __hidden: BooleanConstructor;
    }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        __hidden: BooleanConstructor;
    }>> & Readonly<{}>, {
        visible: boolean;
        __hidden: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    Title: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        __hidden: BooleanConstructor;
    }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        __hidden: BooleanConstructor;
    }>> & Readonly<{}>, {
        visible: boolean;
        __hidden: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    CloseButton: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        __hidden: BooleanConstructor;
    }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        visible: {
            type: BooleanConstructor;
            default: undefined;
        };
        transitionProps: ObjectConstructor;
        __hidden: BooleanConstructor;
    }>> & Readonly<{}>, {
        visible: boolean;
        __hidden: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
};
export type ModalStylesNames = 'root' | 'body' | 'close' | 'content' | 'header' | 'inner' | 'overlay' | 'title';
export type ModalCssVariables = any;
export type ModalFactory = any;
