import type { ValidateFieldsError } from 'async-validator';
import type { FormItemContext as FormItemCtx, FormValidateCallback, FormValidationResult } from 'hongluan-ui/es/tokens';
import type { Arrayable } from 'hongluan-ui/es/utils';
import type { FormItemProp } from './form-item';
export interface Callback {
    (isValid?: boolean, invalidFields?: ValidateFieldsError): void;
}
declare const _default: import("vue").DefineComponent<{
    model: ObjectConstructor;
    rules: import("vue").PropType<Partial<Record<string, Arrayable<import("hongluan-ui/es/tokens").FormItemRule>>>>;
    labelPosition: (StringConstructor | ArrayConstructor)[];
    width: (StringConstructor | ArrayConstructor)[];
    labelSuffix: {
        type: StringConstructor;
        default: string;
    };
    labelPrefix: {
        type: StringConstructor;
        default: string;
    };
    inline: BooleanConstructor;
    showMessage: {
        type: BooleanConstructor;
        default: boolean;
    };
    statusIcon: BooleanConstructor;
    size: import("vue").PropType<"xxxs" | "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl" | "xxxl">;
    disabled: BooleanConstructor;
    validateOnRuleChange: {
        type: BooleanConstructor;
        default: boolean;
    };
    hideRequiredAsterisk: BooleanConstructor;
    requireAsteriskPosition: {
        type: StringConstructor;
        values: string[];
        default: string;
    };
    gap: {
        type: StringConstructor;
        default: string;
    };
    itemGap: {
        type: StringConstructor;
        default: string;
    };
    itemGapX: {
        type: StringConstructor;
        default: string;
    };
    itemGapY: {
        type: StringConstructor;
        default: string;
    };
    scrollToError: BooleanConstructor;
    scrollIntoViewOptions: {
        type: (BooleanConstructor | ObjectConstructor)[];
    };
    fill: BooleanConstructor;
}, {
    namespace: import("vue").ComputedRef<string>;
    validate: (callback?: FormValidateCallback) => FormValidationResult;
    resetFields: (props?: Arrayable<FormItemProp>) => void;
    clearValidate: (props?: Arrayable<FormItemProp>) => void;
    validateField: (props?: Arrayable<FormItemProp>, callback?: FormValidateCallback) => FormValidationResult;
    scrollToField: (prop: string) => void;
    fields: FormItemCtx[];
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "validate"[], "validate", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    model: ObjectConstructor;
    rules: import("vue").PropType<Partial<Record<string, Arrayable<import("hongluan-ui/es/tokens").FormItemRule>>>>;
    labelPosition: (StringConstructor | ArrayConstructor)[];
    width: (StringConstructor | ArrayConstructor)[];
    labelSuffix: {
        type: StringConstructor;
        default: string;
    };
    labelPrefix: {
        type: StringConstructor;
        default: string;
    };
    inline: BooleanConstructor;
    showMessage: {
        type: BooleanConstructor;
        default: boolean;
    };
    statusIcon: BooleanConstructor;
    size: import("vue").PropType<"xxxs" | "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl" | "xxxl">;
    disabled: BooleanConstructor;
    validateOnRuleChange: {
        type: BooleanConstructor;
        default: boolean;
    };
    hideRequiredAsterisk: BooleanConstructor;
    requireAsteriskPosition: {
        type: StringConstructor;
        values: string[];
        default: string;
    };
    gap: {
        type: StringConstructor;
        default: string;
    };
    itemGap: {
        type: StringConstructor;
        default: string;
    };
    itemGapX: {
        type: StringConstructor;
        default: string;
    };
    itemGapY: {
        type: StringConstructor;
        default: string;
    };
    scrollToError: BooleanConstructor;
    scrollIntoViewOptions: {
        type: (BooleanConstructor | ObjectConstructor)[];
    };
    fill: BooleanConstructor;
}>> & {
    onValidate?: (...args: any[]) => any;
}, {
    gap: string;
    disabled: boolean;
    fill: boolean;
    labelSuffix: string;
    labelPrefix: string;
    inline: boolean;
    showMessage: boolean;
    statusIcon: boolean;
    validateOnRuleChange: boolean;
    hideRequiredAsterisk: boolean;
    requireAsteriskPosition: string;
    itemGap: string;
    itemGapX: string;
    itemGapY: string;
    scrollToError: boolean;
}>;
export default _default;
