import { FormEvents, FormScopedSlots, FormProps, FormAlign, FormTrigger, FormFieldInstance, FormValidateSchemaProp } from './types';
import { SyntheticEvent, FormHTMLAttributes } from 'vue-tsx-support/types/dom';
import * as Yup from 'yup';
declare const _default: import("vue-tsx-support")._TsxComponentV3<import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>> & import("../_utils/defineComponent").OhuComponentInnerProps & {
    model: Record<string, any>;
    errors: Record<string, any>;
    errorNames: string[];
    children: FormFieldInstance[];
} & {
    addError(name: string, error: Error): void;
    removeError(name: string): void;
    addFormField(field: FormFieldInstance): void;
    removeFormField(field: FormFieldInstance): void;
    reset(): void;
    validateField(name: string): Promise<any>;
    validate(): Promise<Record<string, any>>;
    getFieldValidation(name: string): Yup.AnySchema | undefined;
    getFieldValue(name: string): any;
    getChild(name: string): FormFieldInstance | undefined;
    setFieldValue(name: string, value: any): void;
    scrollToField(name: string): void;
    submit(): Promise<void>;
    handleSubmit(e: SyntheticEvent<FormHTMLAttributes, Event>): void;
} & {
    initialValues: any;
    validateFunc: ((values: any, props: FormProps) => Record<string, any>) | undefined;
    validateSchema: FormValidateSchemaProp | undefined;
    validateFirst: boolean;
    inline: boolean;
    labelAlign: FormAlign | undefined;
    labelWidth: string | undefined;
    contentAlign: FormAlign | undefined;
    trigger: FormTrigger;
    scrollToError: boolean;
    excludeFields: string[];
}, {}, {} & {
    inline?: boolean | undefined;
    initialValues?: any;
    validateFunc?: ((values: any, props: FormProps) => Record<string, any>) | undefined;
    validateSchema?: FormValidateSchemaProp | undefined;
    validateFirst?: boolean | undefined;
    labelAlign?: FormAlign | undefined;
    labelWidth?: string | undefined;
    contentAlign?: FormAlign | undefined;
    trigger?: FormTrigger | undefined;
    scrollToError?: boolean | undefined;
    excludeFields?: string[] | undefined;
} & FormProps, FormEvents, import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>>, FormScopedSlots>;
export default _default;
