import type { FieldError, FieldRegistration, FieldValues, FormState, RegisterOptions, Resolver, ValidationMode } from './types'; export type FormStoreOptions = { defaultValues?: Partial; values?: Partial; resolver?: Resolver; mode?: ValidationMode; reValidateMode?: ValidationMode; }; export declare class FormStore { mode: ValidationMode; reValidateMode: ValidationMode; private resolver; private readonly fields; private listeners; private revision; private defaultValues; values: T; errors: Partial>; touched: Partial>; dirty: Partial>; isSubmitting: boolean; isSubmitted: boolean; constructor(options?: FormStoreOptions); /** Update options without dropping registered fields. */ updateOptions(options: FormStoreOptions): void; subscribe(listener: () => void): () => void; private notify; getRevision(): number; getRegisteredFieldNames(): string[]; register(registration: FieldRegistration): () => void; updateFieldOptions(name: string, options: RegisterOptions): void; getValues(): T; setValue(name: keyof T, value: unknown, options?: { shouldDirty?: boolean; shouldTouch?: boolean; }): void; markTouched(name: string): void; markDirty(name: string): void; clearErrors(name?: string): void; getFieldError(name: string): string | undefined; getState(): FormState; validateField(name: string): Promise; validateAll(): Promise; shouldValidate(name: string, trigger: 'change' | 'blur'): boolean; handleFieldChange(name: string): Promise; handleFieldBlur(name: string): Promise; /** Whether a field's validation message should be shown in the UI (RHF-style). */ shouldDisplayFieldError(name: string): boolean; handleSubmit(onValid: (values: T) => void | Promise, onInvalid?: (errors: Partial>) => void): Promise; reset(values?: Partial): void; private collectFieldDefaults; private buildResolverFields; }