import type { PropType } from 'vue';
import type { FormItemProps } from './form-children';
export declare const Form: import("vue").DefineComponent<{
    color: StringConstructor;
    textColor: StringConstructor;
    variant: {
        type: PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    };
    disabled: BooleanConstructor;
    fastFail: BooleanConstructor;
    lazyValidation: BooleanConstructor;
    readonly: BooleanConstructor;
    valid: {
        type: PropType<boolean | null>;
        default: null;
    };
    modelValue: PropType<Record<string, any>>;
    defaultValue: PropType<Record<string, any>>;
    density: {
        type: PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    };
    size: {
        type: PropType<import("../../composables/size").Size | undefined>;
        default: string;
    };
    /**
     * @zh 布局方向
     */
    direction: {
        type: PropType<"horizontal" | "vertical">;
        default: string;
        validator: (v: any) => boolean;
    };
    /**
     * @zh 隐藏详情
     */
    hideDetails: PropType<boolean | "auto">;
    /**
     * @zh 内联
     */
    inline: BooleanConstructor;
    /**
     * @zh 数据驱动的表单列表项
     */
    items: PropType<FormItemProps[]>;
    /**
     * @zh 标签宽度
     */
    labelWidth: (StringConstructor | NumberConstructor)[];
}, {
    errorMessages: import("vue").Ref<{
        id: string | number;
        errorMessages: string[];
    }[]>;
    isDisabled: import("vue").ComputedRef<boolean>;
    isReadonly: import("vue").ComputedRef<boolean>;
    isValidating: import("vue").Ref<boolean>;
    items: Map<string | number, import("../../composables/form").FormField>;
    submit: (e: Event) => Promise<void>;
    reset: (e: Event) => Promise<void>;
    resetValidation: () => Promise<void>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    'update:valid': (_valid: boolean | null) => boolean;
    'update:modelValue': (_modelValue: Record<string, any>) => boolean;
    resetValidation: () => boolean;
    reset: (_event: Event) => boolean;
    submit: (_value: Record<string, any>, _event: Event) => boolean;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    color: StringConstructor;
    textColor: StringConstructor;
    variant: {
        type: PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    };
    disabled: BooleanConstructor;
    fastFail: BooleanConstructor;
    lazyValidation: BooleanConstructor;
    readonly: BooleanConstructor;
    valid: {
        type: PropType<boolean | null>;
        default: null;
    };
    modelValue: PropType<Record<string, any>>;
    defaultValue: PropType<Record<string, any>>;
    density: {
        type: PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    };
    size: {
        type: PropType<import("../../composables/size").Size | undefined>;
        default: string;
    };
    /**
     * @zh 布局方向
     */
    direction: {
        type: PropType<"horizontal" | "vertical">;
        default: string;
        validator: (v: any) => boolean;
    };
    /**
     * @zh 隐藏详情
     */
    hideDetails: PropType<boolean | "auto">;
    /**
     * @zh 内联
     */
    inline: BooleanConstructor;
    /**
     * @zh 数据驱动的表单列表项
     */
    items: PropType<FormItemProps[]>;
    /**
     * @zh 标签宽度
     */
    labelWidth: (StringConstructor | NumberConstructor)[];
}>> & {
    onReset?: ((_event: Event) => any) | undefined;
    onSubmit?: ((_value: Record<string, any>, _event: Event) => any) | undefined;
    "onUpdate:modelValue"?: ((_modelValue: Record<string, any>) => any) | undefined;
    "onUpdate:valid"?: ((_valid: boolean | null) => any) | undefined;
    onResetValidation?: (() => any) | undefined;
}, {
    disabled: boolean;
    variant: "contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined";
    size: import("../../composables/size").Size | undefined;
    density: "high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined;
    inline: boolean;
    direction: "horizontal" | "vertical";
    fastFail: boolean;
    lazyValidation: boolean;
    readonly: boolean;
    valid: boolean | null;
}>;
export type Form = InstanceType<typeof Form>;
