/** __vue_virtual_code_placeholder */
import type { BtnType, ImgListType, PropsContentType, MoveEndFn, ResizeEndFn } from "../types";
import { StyleValue } from "vue";
import "../theme/index.css";
import "@layui/component/theme/index.less";
export interface LayerProps {
    modelValue?: boolean;
    type?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | "dialog" | "page" | "iframe" | "loading" | "drawer" | "photos" | "notify" | "prompt";
    title?: PropsContentType | boolean;
    footer?: PropsContentType | boolean;
    titleStyle?: string | StyleValue;
    footerStyle?: string | StyleValue;
    content?: PropsContentType;
    isHtmlFragment?: boolean;
    offset?: string | string[];
    area?: string | string[];
    move?: boolean;
    maxmin?: boolean;
    resize?: boolean;
    shade?: boolean;
    shadeClose?: boolean;
    shadeStyle?: StyleValue;
    shadeOpacity?: string;
    layerClasses?: string;
    zIndex?: number;
    closeBtn?: boolean | string;
    btn?: BtnType[];
    btnAlign?: "l" | "c" | "r";
    anim?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
    isOutAnim?: boolean;
    icon?: string | number;
    imgList?: ImgListType[];
    startIndex?: number;
    animDuration?: string;
    moveOut?: boolean;
    teleport?: string;
    teleportDisabled?: boolean;
    lastPosition?: boolean;
    time?: number;
    load?: number;
    yesText?: string;
    formType?: 0 | 1 | 2 | "text" | "password" | "textarea";
    value?: string;
    maxLength?: number;
    placeholder?: string;
    isMessage?: boolean;
    id?: string;
    isFunction?: boolean;
    appContext?: any;
    success?: Function;
    end?: Function;
    yes?: Function;
    beforeClose?: Function;
    close?: Function;
    min?: Function;
    full?: Function;
    revert?: Function;
    moveStart?: Function;
    moving?: Function;
    moveEnd?: MoveEndFn;
    resizeStart?: Function;
    resizing?: Function;
    resizeEnd?: ResizeEndFn;
    internalDestroy?: Function;
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<LayerProps>, {
    modelValue: boolean;
    type: number;
    title: string;
    titleStyle: string;
    isHtmlFragment: boolean;
    offset: () => "auto";
    area: () => "auto";
    move: boolean;
    maxmin: boolean;
    resize: boolean;
    shade: boolean;
    shadeClose: boolean;
    shadeOpacity: string;
    closeBtn: string;
    btnAlign: string;
    anim: number;
    isOutAnim: boolean;
    imgList: () => never[];
    startIndex: number;
    animDuration: string;
    moveOut: boolean;
    teleport: string;
    teleportDisabled: boolean;
    lastPosition: boolean;
    time: number;
    load: number;
    yesText: string;
    formType: string;
    value: string;
    placeholder: string;
    isMessage: boolean;
    isFunction: boolean;
    success: () => void;
    end: () => void;
    beforeClose: () => true;
    close: () => void;
    min: () => void;
    full: () => void;
    revert: () => void;
    moveStart: () => void;
    moving: () => void;
    moveEnd: () => undefined;
    resizeStart: () => void;
    resizing: () => void;
    resizeEnd: () => undefined;
}>, {
    reset: () => void;
    open: () => void;
    close: () => void;
    full: () => Promise<void>;
    min: () => Promise<void>;
    revert: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "update:modelValue")[], "close" | "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<LayerProps>, {
    modelValue: boolean;
    type: number;
    title: string;
    titleStyle: string;
    isHtmlFragment: boolean;
    offset: () => "auto";
    area: () => "auto";
    move: boolean;
    maxmin: boolean;
    resize: boolean;
    shade: boolean;
    shadeClose: boolean;
    shadeOpacity: string;
    closeBtn: string;
    btnAlign: string;
    anim: number;
    isOutAnim: boolean;
    imgList: () => never[];
    startIndex: number;
    animDuration: string;
    moveOut: boolean;
    teleport: string;
    teleportDisabled: boolean;
    lastPosition: boolean;
    time: number;
    load: number;
    yesText: string;
    formType: string;
    value: string;
    placeholder: string;
    isMessage: boolean;
    isFunction: boolean;
    success: () => void;
    end: () => void;
    beforeClose: () => true;
    close: () => void;
    min: () => void;
    full: () => void;
    revert: () => void;
    moveStart: () => void;
    moving: () => void;
    moveEnd: () => undefined;
    resizeStart: () => void;
    resizing: () => void;
    resizeEnd: () => undefined;
}>>> & {
    onClose?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {
    type: 0 | 2 | "loading" | "dialog" | "iframe" | "prompt" | 1 | 3 | 4 | 5 | 6 | 7 | "page" | "drawer" | "photos" | "notify";
    offset: string | string[];
    end: Function;
    resize: boolean;
    value: string;
    move: boolean;
    area: string | string[];
    time: number;
    title: boolean | PropsContentType;
    close: Function;
    load: number;
    success: Function;
    full: Function;
    revert: Function;
    placeholder: string;
    min: Function;
    teleport: string;
    teleportDisabled: boolean;
    titleStyle: string | false | import("vue").CSSProperties | StyleValue[] | null;
    maxmin: boolean;
    closeBtn: string | boolean;
    imgList: ImgListType[];
    startIndex: number;
    isHtmlFragment: boolean;
    modelValue: boolean;
    formType: 0 | 2 | "textarea" | "text" | 1 | "password";
    shade: boolean;
    shadeClose: boolean;
    shadeOpacity: string;
    btnAlign: "r" | "l" | "c";
    anim: 0 | 2 | 1 | 3 | 4 | 5 | 6;
    isOutAnim: boolean;
    animDuration: string;
    moveOut: boolean;
    lastPosition: boolean;
    yesText: string;
    isMessage: boolean;
    isFunction: boolean;
    beforeClose: Function;
    moveStart: Function;
    moving: Function;
    moveEnd: MoveEndFn;
    resizeStart: Function;
    resizing: Function;
    resizeEnd: ResizeEndFn;
}, {}>, {
    title?(_: {}): any;
    default?(_: {}): any;
    footer?(_: {}): any;
}>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
