import type { JSX } from 'preact';
import type { NestedErrorState, NestedValidState } from '../useMultiForm/types';
import type { TFunction } from '../../../types';
import type { CountryCode } from '../../types/datasets/country-code';
import type { FormUtils } from '../../utils/formUtils';
import type { ValidatorMode } from '../../utils/validation/types';
interface UseLegalCompanyNameFieldProps<FormSchema> {
    data: FormSchema;
    valid: NestedValidState<FormSchema>;
    errors: NestedErrorState<FormSchema>;
    fieldProblems: NestedValidState<FormSchema>;
    country: CountryCode;
    formUtils: FormUtils<FormSchema>;
    handleChange: (key: keyof FormSchema, mode?: ValidatorMode) => (e: any) => void;
    t: TFunction<'business' | 'trust'>;
}
export declare function useLegalCompanyNameField<FormSchema>({ data, valid, errors, fieldProblems, country, formUtils, handleChange, t, }: UseLegalCompanyNameFieldProps<FormSchema>): ({
    name: string;
    value: string;
    readonly: boolean;
    onInput: (e: any) => void;
    onBlur: (e: any) => void;
    isValid: NestedValidState<FormSchema>[keyof FormSchema];
    errorMessage: Record<keyof FormSchema, boolean | import("../../../types").Translatable>[keyof FormSchema];
    label: Partial<Record<keyof FormSchema, string>>[keyof FormSchema];
    guidance: string | undefined;
    onKeyDown: (e: JSX.TargetedKeyboardEvent<HTMLInputElement>) => void;
    transformInput: Partial<Record<keyof FormSchema, (value: string) => string>>[keyof FormSchema];
    transformMode: Partial<Record<keyof FormSchema, ValidatorMode>>[keyof FormSchema];
} | undefined)[];
export {};
