import type { PropType } from "vue";
import { FormConfigType } from "./types";
declare const _sfc_main: import("vue").DefineComponent<{
    modelValue: {
        type: ObjectConstructor;
    };
    inline: {
        type: BooleanConstructor;
        default: boolean;
    };
    labelPosition: {
        type: PropType<"top" | "left" | "right">;
        default: string;
    };
    labelWidth: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
    };
    isAsterisk: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: PropType<"" | "small" | "default" | "large">;
        default: string;
    };
    globalDisabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    confirmButtonText: {
        type: StringConstructor;
        default: string;
    };
    cancelButtonText: {
        type: StringConstructor;
        default: string;
    };
    formModelValues: {
        type: any;
    };
    formConfigList: {
        type: PropType<FormConfigType[]>;
        required: true;
    };
    handlerUpload: {
        type: PropType<(file: File, formConfig: FormConfigType) => Promise<any>>;
    };
    handlerSubmit: {
        type: PropType<(formModels: object) => Promise<any>>;
        required: true;
    };
    resetForm: {
        type: FunctionConstructor;
    };
}, {
    emits: (event: "update:modelValue" | "apiSucceedCallback", ...args: any[]) => void;
    props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: ObjectConstructor;
        };
        inline: {
            type: BooleanConstructor;
            default: boolean;
        };
        labelPosition: {
            type: PropType<"top" | "left" | "right">;
            default: string;
        };
        labelWidth: {
            type: (StringConstructor | NumberConstructor)[];
            default: string;
        };
        isAsterisk: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: PropType<"" | "small" | "default" | "large">;
            default: string;
        };
        globalDisabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        confirmButtonText: {
            type: StringConstructor;
            default: string;
        };
        cancelButtonText: {
            type: StringConstructor;
            default: string;
        };
        formModelValues: {
            type: any;
        };
        formConfigList: {
            type: PropType<FormConfigType[]>;
            required: true;
        };
        handlerUpload: {
            type: PropType<(file: File, formConfig: FormConfigType) => Promise<any>>;
        };
        handlerSubmit: {
            type: PropType<(formModels: object) => Promise<any>>;
            required: true;
        };
        resetForm: {
            type: FunctionConstructor;
        };
    }>> & {
        "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
        onApiSucceedCallback?: ((...args: any[]) => any) | undefined;
    }>>;
    formRef: import("vue").Ref<any>;
    formModels: {};
    loading: import("vue").Ref<boolean>;
    remoteMap: import("vue").Ref<{}>;
    dialogVisible: import("vue").Ref<boolean>;
    dialogImageUrl: import("vue").Ref<string>;
    _formConfigList: import("vue").Ref<{
        componentType: "select" | "radio" | "text" | "sms" | "switch" | "checkbox" | "stepper" | "rate" | "slider" | "date" | "uploader";
        type?: "textarea" | "text" | "date" | "password" | "year" | "month" | "dates" | "datetime" | "week" | "datetimerange" | "daterange" | "monthrange" | undefined;
        key: string;
        defaultValue?: any;
        rules?: object[] | undefined;
        label?: string | undefined;
        visible?: boolean | undefined;
        maxlength?: number | undefined;
        placeholder?: string | undefined;
        disabled?: boolean | undefined;
        showPassword?: boolean | undefined;
        suffixIcon?: string | undefined;
        prefixIcon?: string | undefined;
        showWordLimit?: boolean | undefined;
        rows?: number | undefined;
        autosize?: {
            minRows: number;
            maxRows: number;
        } | undefined;
        dateFormat?: "YYYY-MM-DD" | "YYYY-MM-DD HH:mm:ss" | undefined;
        startPlaceholder?: string | undefined;
        endPlaceholder?: string | undefined;
        separator?: string | undefined;
        shortcuts?: any[] | undefined;
        disabledDate?: ((time: Date) => boolean) | undefined;
        options?: {
            label: string;
            value: string | number;
        }[] | undefined;
        min?: number | undefined;
        max?: number | undefined;
        multiple?: boolean | undefined;
        accept?: string | undefined;
        maxCount?: number | undefined;
        tip?: string | undefined;
        remote?: boolean | undefined;
        confirmCallback: (formModel: any, formModels: any, opt: any, formConfigList?: any) => void;
        formatter?: ((str: string) => string) | undefined;
    }[]>;
    init: () => void;
    formatter: (key: any, callback: any) => void;
    handlePictureCardPreview: (uploadFile: any) => void;
    remoteMethod: (formConfig: any) => (query: any) => Promise<void>;
    countDownData: {
        smSconfig: any;
        countdown: () => import("element-plus").MessageHandler | undefined;
        CUMULATIVE: number;
    };
    handlerCountdown: (formConfig: any, countdown: any) => Promise<import("element-plus").MessageHandler | undefined>;
    afterRead: (formConfig: any) => (file: any) => Promise<any>;
    submitForm: () => void;
    resetForm: () => void;
    UploadFilled: import("vue").DefineComponent<{}, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "apiSucceedCallback")[], "update:modelValue" | "apiSucceedCallback", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        type: ObjectConstructor;
    };
    inline: {
        type: BooleanConstructor;
        default: boolean;
    };
    labelPosition: {
        type: PropType<"top" | "left" | "right">;
        default: string;
    };
    labelWidth: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
    };
    isAsterisk: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: PropType<"" | "small" | "default" | "large">;
        default: string;
    };
    globalDisabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    confirmButtonText: {
        type: StringConstructor;
        default: string;
    };
    cancelButtonText: {
        type: StringConstructor;
        default: string;
    };
    formModelValues: {
        type: any;
    };
    formConfigList: {
        type: PropType<FormConfigType[]>;
        required: true;
    };
    handlerUpload: {
        type: PropType<(file: File, formConfig: FormConfigType) => Promise<any>>;
    };
    handlerSubmit: {
        type: PropType<(formModels: object) => Promise<any>>;
        required: true;
    };
    resetForm: {
        type: FunctionConstructor;
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onApiSucceedCallback?: ((...args: any[]) => any) | undefined;
}, {
    inline: boolean;
    labelPosition: "top" | "left" | "right";
    labelWidth: string | number;
    isAsterisk: boolean;
    size: "" | "small" | "default" | "large";
    globalDisabled: boolean;
    confirmButtonText: string;
    cancelButtonText: string;
    formModelValues: any;
}>;
export default _sfc_main;
