import Vue from 'vue';
import { Data, FormValidateResult, FormValidateParams, FormValidateMessage, FormResetParams } from './type';
import { FormItemValidateResult } from './form-item';
import { FormResetEvent, FormSubmitEvent, ClassName } from '../common';
declare const _default: import("vue/types/vue").ExtendedVue<{
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & Vue, {
    children: import("vue/types/vue").CombinedVueInstance<{
        errorList: any[];
        successList: any[];
        verifyStatus: import("./form-item").VALIDATE_STATUS;
        resetValidating: boolean;
        needResetField: boolean;
        initialValue: any;
        freeShowErrorMessage: any;
    } & {
        addWatch(): void;
        setChildrenDisabled(disabled: boolean, children: Vue[]): void;
        setValidateMessage(validateMessage: import("./type").FormItemValidateMessage[]): void;
        validate<T>(trigger: import("./type").ValidateTriggerType, showErrorMessage?: boolean, source?: "submit-function" | "submit-event"): Promise<FormItemValidateResult<T>>;
        validateOnly<T_1>(trigger: import("./type").ValidateTriggerType): Promise<FormItemValidateResult<T_1>>;
        analysisValidateResult(trigger: import("./type").ValidateTriggerType): Promise<import("./const").AnalysisValidateResult>;
        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(resetType?: "empty" | "initial"): void;
        resetHandler(): void;
    } & {
        needErrorMessage: Boolean;
        classes: ClassName;
        extraNode: JSX.Element;
        labelClasses: ClassName;
        errorClasses: string;
        disabled: boolean;
        contentClasses: ClassName;
        contentStyle: import("../common").Styles;
        value: any;
        hasColon: boolean;
        needRequiredMark: boolean;
        requiredMarkPosition: string;
        innerRules: import("./type").FormRule[];
        errorMessages: import("./type").FormErrorMessage;
        statusClass: string;
    } & {
        for: string;
        help: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        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;
        status: string;
        statusIcon: any;
        successBorder: boolean;
        tips: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    } & {
        useGlobalIcon(tdIcon: Record<string, any>): import("tdesign-icons-vue").GlobalIconConfig;
    } & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & Vue & {
        t<T_2>(pattern: T_2, placement?: number | import("../config-provider/config-receiver").Placement): string;
    } & {
        global: import("../config-provider/type").FormConfig;
        classPrefix: string;
        componentName: string;
        commonSizeClassName: Record<string, string>;
        commonStatusClassName: Record<string, string>;
    } & import("./form-item").FormItemConstructor, object, object, object, Record<never, any>>[];
}, {
    getFirstError<T_3>(r: boolean | FormItemValidateResult<T_3>): any;
    scrollTo(selector: string): void;
    isFunction(val: unknown): boolean;
    needValidate(name: string, fields: string[]): boolean;
    formatValidateResult<T_4>(arr: Awaited<FormItemValidateResult<T_4>>[]): true | Awaited<FormItemValidateResult<T_4>>;
    validate<T_5 = Record<string, any>>(param?: FormValidateParams, source?: 'submit-function' | 'submit-event'): Promise<FormValidateResult<T_5>>;
    validateOnly<T_6 = Record<string, any>>(param: Pick<FormValidateParams, 'fields' | 'trigger'>): Promise<FormValidateResult<T_6>>;
    setValidateMessage(validateMessage: FormValidateMessage<FormData>): void;
    submitHandler<T_7>(e?: FormSubmitEvent): void;
    resetHandler(e?: FormResetEvent): void;
    clearValidate(fields?: Array<string>): void;
    reset<T_8 = FormData>(params?: FormResetParams<T_8>): void;
    submit<T_9 extends Data = Data>(params?: {
        showErrorMessage?: boolean;
    }): void;
}, {
    formClass: ClassName;
    formDataKeys: string[];
    controlledComponents: string[];
}, {
    colon: boolean;
    data: Data;
    disabled: any;
    errorMessage: import("./type").FormErrorMessage;
    formControlledComponents: string[];
    id: any;
    labelAlign: "left" | "top" | "right";
    labelWidth: string | number;
    layout: "inline" | "vertical";
    preventSubmitDefault: boolean;
    requiredMark: any;
    requiredMarkPosition: "left" | "right";
    resetType: "empty" | "initial";
    rules: import("./type").FormRules<Data>;
    scrollToFirstError: "" | "auto" | "smooth";
    showErrorMessage: boolean;
    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;
