import type { AsyncValidatorRules, FormatRules, ValidatorRules } from '../../utils/validation/types';
import type { Form } from './types';
export interface UseFormOptions<FormSchema> {
    schema: (keyof FormSchema)[] | ((data: Partial<FormSchema>) => (keyof FormSchema)[]);
    defaultData?: FormSchema;
    rules?: ValidatorRules<FormSchema>;
    asyncRules?: AsyncValidatorRules<FormSchema>;
    formatters?: FormatRules<FormSchema>;
    shouldValidate?: boolean;
    fieldProblems?: Partial<Record<keyof FormSchema, boolean>>;
    obscuredFields?: (keyof FormSchema)[];
    optionalFields?: (keyof FormSchema)[];
    trustedFields?: string[];
}
export declare function useForm<FormSchema>({ schema, defaultData, rules, asyncRules, fieldProblems, obscuredFields, optionalFields, trustedFields, formatters, shouldValidate, }: UseFormOptions<FormSchema>): Form<FormSchema>;
