import { DeepTransformContent } from "../plugins.js";
import { DeclaredLocales, DictionaryKeys, DictionaryRegistryContent, LocalesValues } from "@intlayer/types/module_augmentation";
import { ValidDotPathsFor } from "@intlayer/core/transpiler";
import { GetSubPath } from "@intlayer/types/dictionary";

//#region src/client/useI18n.d.ts
/**
 * Hook that provides a translation function `t()` for accessing nested content by key.
 * This hook mimics the pattern found in libraries like i18next, next-intl, and vue-i18n.
 *
 * @param namespace - The dictionary key to scope translations to
 * @param locale - Optional locale override. If not provided, uses the current context locale
 * @returns A translation function `t(key)` that returns the translated content for the given key
 *
 * @example
 * ```tsx
 * const t = useI18n('IndexPage');
 * const title = t('title'); // Returns translated string for 'IndexPage.title'
 * const nestedContent = t('section.subtitle'); // Returns 'IndexPage.section.subtitle'
 * // For attributes like `aria-label`, use `.value` to get the plain string
 * const ariaLabel = t('button.ariaLabel').value; // 'Close modal'
 * ```
 */
declare const useI18n: <T extends DictionaryKeys, L extends LocalesValues = DeclaredLocales>(namespace: T, locale?: L) => <P extends ValidDotPathsFor<T>>(path: P) => GetSubPath<DeepTransformContent<DictionaryRegistryContent<T>>, P>;
//#endregion
export { useI18n };
//# sourceMappingURL=useI18n.d.ts.map