import type { MaskSettings } from '../hooks/useForm/types';
import type { Translatable, TranslationKey } from '../../types';
import type { PerCountry } from './perCountry';
import type { ValidatorRule } from './validation/types';
export interface FieldMetadata<FormSchema, FieldName extends keyof FormSchema> {
    label?: TranslationKey;
    guidanceText?: Translatable;
    mask?: MaskSettings;
    validators?: ValidatorRule<FormSchema[FieldName], FormSchema> | ValidatorRule<FormSchema[FieldName], FormSchema>[];
}
export type PerCountryFieldConfig<FormSchema, FieldName extends keyof FormSchema, Params extends object> = PerCountry<FieldMetadata<FormSchema, FieldName> | ((params: Params) => FieldMetadata<FormSchema, FieldName>)>;
export type NoParams = Record<string, never>;
export declare const resolveFieldMetadata: <FormSchema, FieldName extends keyof FormSchema, Params extends object>(countryEntry: FieldMetadata<FormSchema, FieldName> | ((params: Params) => FieldMetadata<FormSchema, FieldName>) | undefined, params: Params, defaultMetadata: FieldMetadata<FormSchema, FieldName>) => FieldMetadata<FormSchema, FieldName>;
