import { FormItemInstance, FormValidError } from "./form.shared";
interface Form {
    readonly name: string;
    addEventListener(event: string | symbol, listener: (...args: any[]) => void): void;
    removeEventListener(event: string | symbol, listener: (...args: any[]) => void): void;
    linkField(name?: string, field?: FormItemInstance): void;
    unlinkField(name?: string): void;
    getFields(): FormItemInstance[];
    findFields(predicate: (field: FormItemInstance) => boolean): FormItemInstance[] | undefined;
    setErrors(errors: FormValidError[]): void;
    resetErrors(): void;
    getErrors(name?: string | string[]): FormValidError[];
    setDefaultValues(values: any): void;
    setValues(values: any): void;
    resetValues(values: any): void;
    getValues<V>(name?: string | string[]): V;
    validate<V>(name?: string | string[]): Promise<V>;
    reset(): void;
    setFieldsValue(values: any): void;
    getFieldsValue<V>(name?: string | string[]): V;
    validateFields<V>(name?: string | string[]): Promise<V>;
}
interface UseFormOptions<V> {
    defaultValues?: V;
    values?: V;
}
export default function useForm<V = any>(name?: string, options?: UseFormOptions<V>): Form;
export {};
