import type { PropType } from 'vue';
import { FormItemProp, FormValidateCallback } from 'element-plus';
type Arrayable<T> = T | T[];
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    labelPosition: {
        type: PropType<"top" | "right" | "left">;
        default: string;
    };
    isOrigin: {
        type: BooleanConstructor;
        default: boolean;
    };
    model: ObjectConstructor;
    rules: {
        readonly type: PropType<Partial<Record<string, import("element-plus/es/utils/typescript.js").Arrayable<import("element-plus").FormItemRule>>>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    requireAsteriskPosition: import("element-plus/es/utils/index.js").EpPropFinalized<StringConstructor, "right" | "left", unknown, "left", boolean>;
    labelWidth: import("element-plus/es/utils/index.js").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    labelSuffix: import("element-plus/es/utils/index.js").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    inline: BooleanConstructor;
    inlineMessage: BooleanConstructor;
    statusIcon: BooleanConstructor;
    showMessage: import("element-plus/es/utils/index.js").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    validateOnRuleChange: import("element-plus/es/utils/index.js").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    hideRequiredAsterisk: import("element-plus/es/utils/index.js").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    scrollToError: BooleanConstructor;
    scrollIntoViewOptions: {
        readonly type: PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    size: {
        readonly type: PropType<import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    disabled: BooleanConstructor;
}, {
    /**
     * @description Validate the whole form. Receives a callback or returns `Promise`.
     */
    validate: (callback?: FormValidateCallback | undefined) => Promise<boolean | undefined>;
    /**
     * @description Validate specified fields.
     */
    validateField: (modelProps?: Arrayable<FormItemProp> | undefined, callback?: FormValidateCallback | undefined) => Promise<boolean | undefined>;
    /**
     * @description Reset specified fields and remove validation result.
     */
    resetFields: (props?: import("element-plus/es/utils/typescript.js").Arrayable<FormItemProp> | undefined) => void;
    /**
     * @description Clear validation message for specified fields.
     */
    clearValidate: (props?: import("element-plus/es/utils/typescript.js").Arrayable<FormItemProp> | undefined) => void;
    /**
     * @description Scroll to the specified fields.
     */
    scrollToField: (prop: FormItemProp) => void | undefined;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    labelPosition: {
        type: PropType<"top" | "right" | "left">;
        default: string;
    };
    isOrigin: {
        type: BooleanConstructor;
        default: boolean;
    };
    model: ObjectConstructor;
    rules: {
        readonly type: PropType<Partial<Record<string, import("element-plus/es/utils/typescript.js").Arrayable<import("element-plus").FormItemRule>>>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    requireAsteriskPosition: import("element-plus/es/utils/index.js").EpPropFinalized<StringConstructor, "right" | "left", unknown, "left", boolean>;
    labelWidth: import("element-plus/es/utils/index.js").EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    labelSuffix: import("element-plus/es/utils/index.js").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    inline: BooleanConstructor;
    inlineMessage: BooleanConstructor;
    statusIcon: BooleanConstructor;
    showMessage: import("element-plus/es/utils/index.js").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    validateOnRuleChange: import("element-plus/es/utils/index.js").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    hideRequiredAsterisk: import("element-plus/es/utils/index.js").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    scrollToError: BooleanConstructor;
    scrollIntoViewOptions: {
        readonly type: PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [ObjectConstructor, BooleanConstructor], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    size: {
        readonly type: PropType<import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    disabled: BooleanConstructor;
}>>, {
    disabled: boolean;
    labelPosition: "top" | "right" | "left";
    requireAsteriskPosition: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "right" | "left", unknown>;
    labelWidth: import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
    labelSuffix: string;
    inline: boolean;
    inlineMessage: boolean;
    statusIcon: boolean;
    showMessage: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
    validateOnRuleChange: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
    hideRequiredAsterisk: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
    scrollToError: boolean;
    isOrigin: boolean;
}, {}>, Partial<Record<NonNullable<string | number>, (_: {}) => any>>>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
