import { TranslationObjectToFlat } from '../../../shared/Context';
import { AdditionalReturnUtils } from '../../../shared/useTranslation';
import { DeepPartial } from '../../../shared/types';
import formsLocales from '../constants/locales';
export type FormsTranslationDefaultLocales = typeof formsLocales;
export type FormsTranslationLocale = keyof FormsTranslationDefaultLocales;
export type FormsTranslationKeys = keyof FormsTranslationDefaultLocales[FormsTranslationLocale];
export type FormsTranslationValues = FormsTranslationDefaultLocales[FormsTranslationLocale];
export type FormsTranslation = DeepPartial<FormsTranslationDefaultLocales[FormsTranslationLocale]>;
export type FormsTranslationFlat = TranslationObjectToFlat<FormsTranslation>;
type CustomLocales = Partial<Record<FormsTranslationLocale, FormsTranslation>>;
export default function useTranslation<T = FormsTranslation>(messages?: FormsTranslation | CustomLocales | Record<FormsTranslationLocale, T>): T & AdditionalReturnUtils;
export {};
