import type { FormItemInstance, FormValidError } from "./form.shared"; declare class FormAttributes { #private; get fields(): Map; get inFormListFields(): Map; get defaultValues(): any; set defaultValues(defaultValues: any); get values(): any; set values(value: any); get errors(): Record; set errors(errors: Record); addEventListener(event: string, listener: (...args: any[]) => void): void; removeEventListener(event: string, listener: (...args: any[]) => void): void; emitEvent(event: string, ...args: any[]): void; findFields(predicate: (field: FormItemInstance) => boolean): FormItemInstance[]; addField(name: string, field: FormItemInstance, inFormList?: boolean): void; removeField(name: string, inFormList?: boolean): void; hasField(name: string): boolean; getErrors(nameNames?: string | string[]): Record; setErrors(newErrors: FormValidError[], emitChange?: boolean): void; resetErrors(errors?: Record): void; getValues(nameNames?: string | string[]): any; setValues(newValues: any, emitChange?: boolean): void; resetValues(newValues?: any): void; release(): void; } 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, inFormList?: boolean): void; unlinkField(name?: string, inFormList?: boolean): void; hasField(name?: string): boolean; getFields(): FormItemInstance[]; findFields(predicate: (field: FormItemInstance) => boolean): FormItemInstance[] | undefined; setErrors(errors: FormValidError[]): void; resetErrors(): void; getErrors(name?: string | string[]): FormValidError[]; setDefaultValues(values: any, inFormList?: boolean): void; setValues(values: any, emitChange?: boolean): void; resetValues(values: any): void; getValues(name?: string | string[]): V; validate(name?: string | string[]): Promise; reset(): void; setFieldsValue(values: any): void; getFieldsValue(name?: string | string[]): V; validateFields(name?: string | string[]): Promise; getAttributiveForm(): FormAttributes | undefined; } interface UseFormOptions { defaultValues?: V; values?: V; } export default function useForm(name?: string, options?: UseFormOptions): Form | undefined; export {};