import Vue, { VNode } from 'vue';
import { Data, FormValidateResult, FormValidateParams, FormValidateMessage } from './type';
import { FormItemValidateResult } from './form-item';
import { FormResetEvent, FormSubmitEvent, ClassName } from '../common';
declare const _default: import("vue/types/vue").ExtendedVue<Vue, {
    children: import("vue/types/vue").CombinedVueInstance<{
        errorList: any[];
        successList: any[];
        verifyStatus: import("./form-item").VALIDATE_STATUS;
        resetValidating: boolean;
        needResetField: boolean;
        initialValue: any;
    } & {
        addWatch(): void;
        setChildrenDisabled(disabled: boolean, children: Vue[]): void;
        setValidateMessage(validateMessage: import("./type").FormItemValidateMessage[]): void;
        validate<T>(trigger: import("./type").ValidateTriggerType): Promise<FormItemValidateResult<T>>;
        getLabelContent(): import("vue/types/vnode").ScopedSlotReturnValue;
        getLabel(): import("vue/types/vnode").ScopedSlotReturnValue;
        getDefaultIcon(): import("vue/types/vnode").ScopedSlotReturnValue;
        getIcon(statusIcon: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | ((h: import("vue").CreateElement, props: import("./type").TdFormItemProps) => import("vue/types/vnode").ScopedSlotReturnValue), slotStatusIcon: import("vue/types/vnode").NormalizedScopedSlot, props?: import("./type").TdFormItemProps): import("vue/types/vnode").ScopedSlotReturnValue;
        getSuffixIcon(): import("vue/types/vnode").ScopedSlotReturnValue;
        getEmptyValue(): any;
        resetField(): void;
        resetHandler(): void;
    } & {
        needErrorMessage: Boolean;
        classes: ClassName;
        helpNode: VNode;
        extraNode: JSX.Element;
        labelClasses: ClassName;
        errorClasses: string;
        disabled: boolean;
        contentClasses: ClassName;
        contentStyle: import("../common").Styles;
        value: any;
        hasColon: boolean;
        needRequiredMark: boolean;
        innerRules: import("./type").FormRule[];
        errorMessages: import("./type").FormErrorMessage;
    } & {
        for: string;
        help: string;
        label: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        labelAlign: "left" | "top" | "right";
        labelWidth: string | number;
        name: string;
        requiredMark: any;
        rules: import("./type").FormRule[];
        showErrorMessage: any;
        statusIcon: any;
        successBorder: boolean;
    } & {
        t<T_1>(pattern: T_1, placement?: import("../config-provider/config-receiver").Placement): string;
    } & {
        global: import("..").FormConfig;
    } & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("./form-item").FormItemConstructor & Vue, object, object, object, Record<never, any>>[];
}, {
    getFirstError<T_2>(r: boolean | FormItemValidateResult<T_2>): any;
    scrollTo(selector: string): void;
    isFunction(val: unknown): boolean;
    needValidate(name: string, fields: string[]): boolean;
    validate<T_3 = Record<string, any>>(param?: FormValidateParams): Promise<FormValidateResult<T_3>>;
    setValidateMessage(validateMessage: FormValidateMessage<FormData>): void;
    submitHandler<T_4>(e?: FormSubmitEvent): void;
    resetHandler(e?: FormResetEvent): void;
    clearValidate(fields?: Array<string>): void;
    reset(): void;
    submit<T_5 extends Data = Data>(): void;
}, {
    formClass: ClassName;
    controlledComponents: string[];
}, {
    colon: boolean;
    data: Data;
    disabled: any;
    errorMessage: import("./type").FormErrorMessage;
    formControlledComponents: string[];
    labelAlign: "left" | "top" | "right";
    labelWidth: string | number;
    layout: "inline" | "vertical";
    preventSubmitDefault: boolean;
    requiredMark: any;
    resetType: "empty" | "initial";
    rules: {
        [x: string]: import("./type").FormRule[];
    };
    scrollToFirstError: "auto" | "smooth";
    showErrorMessage: boolean;
    size: "medium" | "large";
    statusIcon: any;
    submitWithWarningMessage: boolean;
    onReset: (context: {
        e?: Event;
    }) => void;
    onSubmit: (context: import("./type").SubmitContext<Data>) => void;
    onValidate: (result: import("./type").ValidateResultContext<Data>) => void;
}>;
export default _default;
