import { PropType, Ref } from 'vue';
import { ValidatedError } from '@arco-design/web-vue';
import type { ProColumns, ProTableTypes, SearchConfig } from '../interface';
export declare const renderFormInput: (item: ProColumns, type: ProTableTypes, formModel: Ref, formRef: Ref, slots: any, t: any) => any;
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    columns: {
        type: PropType<ProColumns[]>;
        default: () => never[];
    };
    search: {
        type: PropType<boolean | SearchConfig>;
        default: boolean;
    };
    type: {
        type: PropType<ProTableTypes>;
        default: string;
    };
    defaultFormData: {
        type: ObjectConstructor;
        default: () => {};
    };
    formRef: {
        type: PropType<(formRef: Ref) => void>;
    };
    submitButtonLoading: {
        type: BooleanConstructor;
    };
}>, {
    render: () => any;
    selfSubmit: ({ values, errors, }?: {
        values?: Record<string, any> | undefined;
        errors?: Record<string, ValidatedError> | undefined;
    }) => void;
    selfReset: () => void;
    formSearchRef: Ref<any, any>;
}, {}, {}, {
    submit(data: any): void;
    reset(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    submit: (formData: Record<string, unknown>, firstLoad?: boolean | undefined) => true;
    reset: (formData?: Record<string, unknown> | undefined) => true;
    cancel: () => true;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    columns: {
        type: PropType<ProColumns[]>;
        default: () => never[];
    };
    search: {
        type: PropType<boolean | SearchConfig>;
        default: boolean;
    };
    type: {
        type: PropType<ProTableTypes>;
        default: string;
    };
    defaultFormData: {
        type: ObjectConstructor;
        default: () => {};
    };
    formRef: {
        type: PropType<(formRef: Ref) => void>;
    };
    submitButtonLoading: {
        type: BooleanConstructor;
    };
}>> & Readonly<{
    onReset?: ((formData?: Record<string, unknown> | undefined) => any) | undefined;
    onSubmit?: ((formData: Record<string, unknown>, firstLoad?: boolean | undefined) => any) | undefined;
    onCancel?: (() => any) | undefined;
}>, {
    search: boolean | SearchConfig;
    type: ProTableTypes;
    columns: ProColumns[];
    defaultFormData: Record<string, any>;
    submitButtonLoading: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
