import { FormFieldConfig, CustomConfig } from '../../../types';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { FormValidationResult } from 'element-plus';
interface Props {
    modelValue: Record<string, any>;
    fields: FormFieldConfig[];
    disabled?: boolean;
    labelWidth?: string | number;
    labelPosition?: 'left' | 'right' | 'top';
    size?: 'large' | 'default' | 'small';
    gutter?: number;
}
declare const _default: __VLS_WithSlots< DefineComponent<Props, {
    validate: () => FormValidationResult | undefined;
    submitUpload: (field: string) => void;
    clearUpload: (field: string) => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
    "update:modelValue": (value: Record<string, any>) => any;
    fieldEvent: (field: string, eventName: string, ...args: any[]) => any;
}, string, PublicProps, Readonly<Props> & Readonly<{
    "onUpdate:modelValue"?: ((value: Record<string, any>) => any) | undefined;
    onFieldEvent?: ((field: string, eventName: string, ...args: any[]) => any) | undefined;
}>, {
    size: "small" | "default" | "large";
    disabled: boolean;
    gutter: number;
    labelPosition: "top" | "left" | "right";
    labelWidth: string | number;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>, {
    [x: string]: ((props: {
        field: CustomConfig;
        value: any;
        updateValue: (val: any) => any;
        formData: Record<string, any>;
    }) => any) | undefined;
}>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
