import { nextTick } from 'vue';
import type { FormField, Model } from './query-form';
import type { buttonItem } from '../../button-list/src/button-list';
declare type OptionType = any[] | {
    [key: string]: any;
};
declare const _default: import("vue").DefineComponent<{
    formFields: {
        type: ArrayConstructor;
        required: true;
        default: () => never[];
    };
    buttonList: {
        type: ArrayConstructor;
        required: true;
        default: () => never[];
    };
    showReset: {
        type: BooleanConstructor;
        required: true;
        default: boolean;
    };
    labelWidth: {
        type: (StringConstructor | NumberConstructor)[];
        required: true;
    };
    showSubmit: {
        type: BooleanConstructor;
        required: true;
        default: boolean;
    };
    submitBtnIcon: {
        type: StringConstructor;
        required: true;
    };
    resetBtnIcon: {
        type: StringConstructor;
        required: true;
    };
}, {
    props: {
        formFields: FormField[];
        buttonList: buttonItem[];
        showReset: boolean;
        labelWidth: string | number;
        showSubmit: boolean;
        submitBtnIcon: string;
        resetBtnIcon: string;
    };
    emit: (event: "reset" | "formSubmit", ...args: any[]) => void;
    model: Model;
    formItemRefs: import("vue").Ref<({
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{}> & Omit<Readonly<import("vue").ExtractPropTypes<{
            modelValue: {
                type: (StringConstructor | ObjectConstructor | NumberConstructor | ArrayConstructor)[];
                required: true;
            };
            item: {
                type: ObjectConstructor;
                required: true;
            };
            model: {
                type: ObjectConstructor;
                required: false;
            };
        }>> & {
            "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot | undefined;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
        $emit: (event: "update:modelValue", ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            modelValue: {
                type: (StringConstructor | ObjectConstructor | NumberConstructor | ArrayConstructor)[];
                required: true;
            };
            item: {
                type: ObjectConstructor;
                required: true;
            };
            model: {
                type: ObjectConstructor;
                required: false;
            };
        }>> & {
            "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
        }, {
            props: {
                modelValue: string | number | object | any[];
                item: import("./form-item.vue").Item;
                model?: object | undefined;
            };
            inputRef: import("vue").Ref<null>;
            selectRef: import("vue").Ref<null>;
            selectTreeRef: import("vue").Ref<null>;
            radioGroupSelectRef: import("vue").Ref<null>;
            datePickerRef: import("vue").Ref<null>;
            radioGroupRef: import("vue").Ref<null>;
            isInputType: (item: import("./form-item.vue").Item) => boolean;
            emit: (event: "update:modelValue", ...args: any[]) => void;
            iconClass: (item: import("./form-item.vue").Item) => any;
            complexValue: (item: import("./form-item.vue").Item) => any;
            selectDate: import("vue").Ref<string>;
            disabledDate: (time: Date) => any;
            onPick: (dates: [Date, Date]) => void;
            handleSingleTreeSelectChange: (data: any) => void;
            bindChange: (e: any) => void;
            cusclearable: () => void;
            datePickerChange: (val: any) => void;
            isDisabled: (item: import("./form-item.vue").Item) => any;
            doIcon: (item: import("./form-item.vue").Item) => any;
            doComplex: (item: import("./form-item.vue").Item) => any;
            doSelectOptions: () => any[] | undefined;
            radioChange: (value: any) => void;
            changeVisible: (e: any) => void;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], string, {}, {}, string> & {
            beforeCreate?: ((() => void) | (() => void)[]) | undefined;
            created?: ((() => void) | (() => void)[]) | undefined;
            beforeMount?: ((() => void) | (() => void)[]) | undefined;
            mounted?: ((() => void) | (() => void)[]) | undefined;
            beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
            updated?: ((() => void) | (() => void)[]) | undefined;
            activated?: ((() => void) | (() => void)[]) | undefined;
            deactivated?: ((() => void) | (() => void)[]) | undefined;
            beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
            beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
            destroyed?: ((() => void) | (() => void)[]) | undefined;
            unmounted?: ((() => void) | (() => void)[]) | undefined;
            renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
            renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
            errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: (StringConstructor | ObjectConstructor | NumberConstructor | ArrayConstructor)[];
            required: true;
        };
        item: {
            type: ObjectConstructor;
            required: true;
        };
        model: {
            type: ObjectConstructor;
            required: false;
        };
    }>> & {
        "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    } & import("vue").ShallowUnwrapRef<{
        props: {
            modelValue: string | number | object | any[];
            item: import("./form-item.vue").Item;
            model?: object | undefined;
        };
        inputRef: import("vue").Ref<null>;
        selectRef: import("vue").Ref<null>;
        selectTreeRef: import("vue").Ref<null>;
        radioGroupSelectRef: import("vue").Ref<null>;
        datePickerRef: import("vue").Ref<null>;
        radioGroupRef: import("vue").Ref<null>;
        isInputType: (item: import("./form-item.vue").Item) => boolean;
        emit: (event: "update:modelValue", ...args: any[]) => void;
        iconClass: (item: import("./form-item.vue").Item) => any;
        complexValue: (item: import("./form-item.vue").Item) => any;
        selectDate: import("vue").Ref<string>;
        disabledDate: (time: Date) => any;
        onPick: (dates: [Date, Date]) => void;
        handleSingleTreeSelectChange: (data: any) => void;
        bindChange: (e: any) => void;
        cusclearable: () => void;
        datePickerChange: (val: any) => void;
        isDisabled: (item: import("./form-item.vue").Item) => any;
        doIcon: (item: import("./form-item.vue").Item) => any;
        doComplex: (item: import("./form-item.vue").Item) => any;
        doSelectOptions: () => any[] | undefined;
        radioChange: (value: any) => void;
        changeVisible: (e: any) => void;
    }> & {} & import("vue").ComponentCustomProperties & {})[]>;
    validateFormRef: import("vue").Ref<{
        validate: (callback: (valid: boolean) => void) => void;
    } | null>;
    onSubmit: () => void;
    onReset: () => void;
    getModel: () => Model;
    resetModel: () => void;
    createModel: () => void;
    handleSelectTree: (item: FormField) => void;
    handleRadioGroup: (item: FormField) => void;
    handleRadioGroupSelect: (item: FormField, index: number) => void;
    handleDefault: (item: FormField) => void;
    setValue: (columnName: string, value: any) => void;
    setOptions: (columnName: string, options: OptionType) => void;
    setDisabled: (columnName: string, state: boolean) => void;
    setFormField: (columnName: string, key: string, value: any) => void;
    returnLabelWidth: () => string | number | undefined;
    readonly RefreshRight: 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<{}>>, {}>;
    readonly Search: 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<{}>>, {}>;
    formItem: import("vue").DefineComponent<{
        modelValue: {
            type: (StringConstructor | ObjectConstructor | NumberConstructor | ArrayConstructor)[];
            required: true;
        };
        item: {
            type: ObjectConstructor;
            required: true;
        };
        model: {
            type: ObjectConstructor;
            required: false;
        };
    }, {
        props: {
            modelValue: string | number | object | any[];
            item: import("./form-item.vue").Item;
            model?: object | undefined;
        };
        inputRef: import("vue").Ref<null>;
        selectRef: import("vue").Ref<null>;
        selectTreeRef: import("vue").Ref<null>;
        radioGroupSelectRef: import("vue").Ref<null>;
        datePickerRef: import("vue").Ref<null>;
        radioGroupRef: import("vue").Ref<null>;
        isInputType: (item: import("./form-item.vue").Item) => boolean;
        emit: (event: "update:modelValue", ...args: any[]) => void;
        iconClass: (item: import("./form-item.vue").Item) => any;
        complexValue: (item: import("./form-item.vue").Item) => any;
        selectDate: import("vue").Ref<string>;
        disabledDate: (time: Date) => any;
        onPick: (dates: [Date, Date]) => void;
        handleSingleTreeSelectChange: (data: any) => void;
        bindChange: (e: any) => void;
        cusclearable: () => void;
        datePickerChange: (val: any) => void;
        isDisabled: (item: import("./form-item.vue").Item) => any;
        doIcon: (item: import("./form-item.vue").Item) => any;
        doComplex: (item: import("./form-item.vue").Item) => any;
        doSelectOptions: () => any[] | undefined;
        radioChange: (value: any) => void;
        changeVisible: (e: any) => void;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: (StringConstructor | ObjectConstructor | NumberConstructor | ArrayConstructor)[];
            required: true;
        };
        item: {
            type: ObjectConstructor;
            required: true;
        };
        model: {
            type: ObjectConstructor;
            required: false;
        };
    }>> & {
        "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    }, {}>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("reset" | "formSubmit")[], "reset" | "formSubmit", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    formFields: {
        type: ArrayConstructor;
        required: true;
        default: () => never[];
    };
    buttonList: {
        type: ArrayConstructor;
        required: true;
        default: () => never[];
    };
    showReset: {
        type: BooleanConstructor;
        required: true;
        default: boolean;
    };
    labelWidth: {
        type: (StringConstructor | NumberConstructor)[];
        required: true;
    };
    showSubmit: {
        type: BooleanConstructor;
        required: true;
        default: boolean;
    };
    submitBtnIcon: {
        type: StringConstructor;
        required: true;
    };
    resetBtnIcon: {
        type: StringConstructor;
        required: true;
    };
}>> & {
    onReset?: ((...args: any[]) => any) | undefined;
    onFormSubmit?: ((...args: any[]) => any) | undefined;
}, {
    buttonList: unknown[];
    formFields: unknown[];
}>;
export default _default;
