import { DefineComponent, ExtractPropTypes, PropType, TransitionProps, Component, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { EpPropFinalized, EpPropMergeType } from 'element-plus/es/utils';
import { DialogBeforeCloseFn, DialogTransition } from 'element-plus';
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        title?(_: {}): any;
        default?(_: {}): any;
        footer?(_: {}): any;
    };
    refs: {};
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ExtractPropTypes<{
    modelValue: {
        type: BooleanConstructor;
        default: boolean;
    };
    showClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    title: {
        type: StringConstructor;
        default: string;
    };
    width: {
        type: StringConstructor;
        default: string;
    };
    appendToBody: {
        type: BooleanConstructor;
        default: boolean;
    };
    lockScroll: {
        type: BooleanConstructor;
        default: boolean;
    };
    closeOnClickModal: {
        type: BooleanConstructor;
        default: boolean;
    };
    direction: EpPropFinalized<StringConstructor, "ltr" | "rtl" | "ttb" | "btt", unknown, "rtl", boolean>;
    resizable: BooleanConstructor;
    size: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "30%", boolean>;
    withHeader: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    modalFade: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    headerAriaLevel: EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
    appendTo: EpPropFinalized<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | (((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement)) | null)[], unknown, unknown, "body", boolean>;
    beforeClose: {
        readonly type: PropType<DialogBeforeCloseFn>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    destroyOnClose: BooleanConstructor;
    closeOnPressEscape: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    modal: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    modalPenetrable: BooleanConstructor;
    openDelay: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    closeDelay: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    top: {
        readonly type: PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    modalClass: StringConstructor;
    headerClass: StringConstructor;
    bodyClass: StringConstructor;
    footerClass: StringConstructor;
    zIndex: {
        readonly type: PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    trapFocus: BooleanConstructor;
    transition: EpPropFinalized<(new (...args: any[]) => string | TransitionProps) | (() => DialogTransition) | (((new (...args: any[]) => string | TransitionProps) | (() => DialogTransition)) | null)[], unknown, unknown, undefined, boolean>;
    center: BooleanConstructor;
    alignCenter: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    closeIcon: {
        readonly type: PropType<EpPropMergeType<(new (...args: any[]) => (string | Component) & {}) | (() => string | Component) | (((new (...args: any[]) => (string | Component) & {}) | (() => string | Component)) | null)[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    draggable: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    overflow: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    fullscreen: BooleanConstructor;
    ariaLevel: EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "update:modelValue": (...args: any[]) => void;
    closed: (...args: any[]) => void;
}, string, PublicProps, Readonly< ExtractPropTypes<{
    modelValue: {
        type: BooleanConstructor;
        default: boolean;
    };
    showClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    title: {
        type: StringConstructor;
        default: string;
    };
    width: {
        type: StringConstructor;
        default: string;
    };
    appendToBody: {
        type: BooleanConstructor;
        default: boolean;
    };
    lockScroll: {
        type: BooleanConstructor;
        default: boolean;
    };
    closeOnClickModal: {
        type: BooleanConstructor;
        default: boolean;
    };
    direction: EpPropFinalized<StringConstructor, "ltr" | "rtl" | "ttb" | "btt", unknown, "rtl", boolean>;
    resizable: BooleanConstructor;
    size: EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "30%", boolean>;
    withHeader: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    modalFade: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    headerAriaLevel: EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
    appendTo: EpPropFinalized<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | (((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement)) | null)[], unknown, unknown, "body", boolean>;
    beforeClose: {
        readonly type: PropType<DialogBeforeCloseFn>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    destroyOnClose: BooleanConstructor;
    closeOnPressEscape: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    modal: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    modalPenetrable: BooleanConstructor;
    openDelay: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    closeDelay: EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    top: {
        readonly type: PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    modalClass: StringConstructor;
    headerClass: StringConstructor;
    bodyClass: StringConstructor;
    footerClass: StringConstructor;
    zIndex: {
        readonly type: PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    trapFocus: BooleanConstructor;
    transition: EpPropFinalized<(new (...args: any[]) => string | TransitionProps) | (() => DialogTransition) | (((new (...args: any[]) => string | TransitionProps) | (() => DialogTransition)) | null)[], unknown, unknown, undefined, boolean>;
    center: BooleanConstructor;
    alignCenter: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    closeIcon: {
        readonly type: PropType<EpPropMergeType<(new (...args: any[]) => (string | Component) & {}) | (() => string | Component) | (((new (...args: any[]) => (string | Component) & {}) | (() => string | Component)) | null)[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    draggable: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    overflow: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
    fullscreen: BooleanConstructor;
    ariaLevel: EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
}>> & Readonly<{
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onClosed?: ((...args: any[]) => any) | undefined;
}>, {
    center: boolean;
    width: string;
    resizable: boolean;
    title: string;
    size: EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
    showClose: boolean;
    appendTo: EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | null)[], unknown, unknown>;
    transition: EpPropMergeType<(new (...args: any[]) => string | TransitionProps) | (() => DialogTransition) | ((new (...args: any[]) => string | TransitionProps) | (() => DialogTransition) | null)[], unknown, unknown>;
    modelValue: boolean;
    appendToBody: boolean;
    lockScroll: boolean;
    closeOnClickModal: boolean;
    destroyOnClose: boolean;
    closeOnPressEscape: EpPropMergeType<BooleanConstructor, unknown, unknown>;
    modal: EpPropMergeType<BooleanConstructor, unknown, unknown>;
    modalPenetrable: boolean;
    openDelay: number;
    closeDelay: number;
    trapFocus: boolean;
    headerAriaLevel: string;
    alignCenter: EpPropMergeType<BooleanConstructor, unknown, unknown>;
    draggable: EpPropMergeType<BooleanConstructor, unknown, unknown>;
    overflow: EpPropMergeType<BooleanConstructor, unknown, unknown>;
    fullscreen: boolean;
    ariaLevel: string;
    direction: EpPropMergeType<StringConstructor, "ltr" | "rtl" | "ttb" | "btt", unknown>;
    withHeader: EpPropMergeType<BooleanConstructor, unknown, unknown>;
    modalFade: EpPropMergeType<BooleanConstructor, unknown, unknown>;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
