import { type PropType } from 'vue';
export interface ModalBaseProps {
    opened: boolean;
    onClose: () => void;
    id?: string;
    keepMounted?: boolean;
    lockScroll?: boolean;
    trapFocus?: boolean;
    withinPortal?: boolean;
    portalProps?: Record<string, any>;
    closeOnClickOutside?: boolean;
    transitionProps?: Record<string, any>;
    onExitTransitionEnd?: () => void;
    onEnterTransitionEnd?: () => void;
    closeOnEscape?: boolean;
    returnFocus?: boolean;
    zIndex?: string | number;
    shadow?: string;
    padding?: string | number;
    unstyled?: boolean;
}
export declare const ModalBase: import("../..").WithBoxProps<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    opened: {
        type: BooleanConstructor;
        required: true;
    };
    onClose: {
        type: PropType<() => void>;
        required: true;
    };
    id: StringConstructor;
    keepMounted: {
        type: BooleanConstructor;
        default: boolean;
    };
    lockScroll: {
        type: BooleanConstructor;
        default: boolean;
    };
    trapFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    withinPortal: {
        type: BooleanConstructor;
        default: boolean;
    };
    portalProps: {
        type: ObjectConstructor;
        default: undefined;
    };
    closeOnClickOutside: {
        type: BooleanConstructor;
        default: boolean;
    };
    transitionProps: {
        type: ObjectConstructor;
        default: undefined;
    };
    onExitTransitionEnd: {
        type: PropType<() => void>;
        default: undefined;
    };
    onEnterTransitionEnd: {
        type: PropType<() => void>;
        default: undefined;
    };
    closeOnEscape: {
        type: BooleanConstructor;
        default: boolean;
    };
    returnFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    zIndex: {
        type: (NumberConstructor | StringConstructor)[];
        default: undefined;
    };
    shadow: {
        type: StringConstructor;
        default: string;
    };
    padding: {
        type: (NumberConstructor | StringConstructor)[];
        default: string;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, () => 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;
    };
    id: StringConstructor;
    keepMounted: {
        type: BooleanConstructor;
        default: boolean;
    };
    lockScroll: {
        type: BooleanConstructor;
        default: boolean;
    };
    trapFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    withinPortal: {
        type: BooleanConstructor;
        default: boolean;
    };
    portalProps: {
        type: ObjectConstructor;
        default: undefined;
    };
    closeOnClickOutside: {
        type: BooleanConstructor;
        default: boolean;
    };
    transitionProps: {
        type: ObjectConstructor;
        default: undefined;
    };
    onExitTransitionEnd: {
        type: PropType<() => void>;
        default: undefined;
    };
    onEnterTransitionEnd: {
        type: PropType<() => void>;
        default: undefined;
    };
    closeOnEscape: {
        type: BooleanConstructor;
        default: boolean;
    };
    returnFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    zIndex: {
        type: (NumberConstructor | StringConstructor)[];
        default: undefined;
    };
    shadow: {
        type: StringConstructor;
        default: string;
    };
    padding: {
        type: (NumberConstructor | StringConstructor)[];
        default: string;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{}>, {
    shadow: string;
    keepMounted: boolean;
    padding: string | number;
    zIndex: string | number;
    unstyled: boolean;
    withinPortal: boolean;
    transitionProps: Record<string, any>;
    portalProps: Record<string, any>;
    lockScroll: boolean;
    trapFocus: boolean;
    closeOnClickOutside: boolean;
    onExitTransitionEnd: () => void;
    onEnterTransitionEnd: () => void;
    closeOnEscape: boolean;
    returnFocus: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
