import type { AllPaths, GetTypeAtPath } from "../types.js"; /** * Function for accessing internationalized strings with type safety * * @template T - The type of the translation object (derived from translation files) * @returns A translation function that accepts a key and optional data for variable substitution * * @example * // With flat keys (default approach) * type Translations = { * 'Hello': string; * 'Welcome, {{name}}!': string; * 'You have {{count}} messages': string; * }; * * const t = getI18n(); * * // Get a translation * const hello = t('Hello'); * * // With variable substitution * const welcome = t('Welcome, {{name}}!', { name: 'User' }); * const messages = t('You have {{count}} messages', { count: 5 }); * * @example * // With nested keys (requires nestedKeys: true in options) * type NestedTranslations = { * greetings: { * hello: string; * welcome: string; * } * }; * * const t = getI18n(); * const hello = t('greetings.hello'); */ export declare function getI18n(): >(path: Path, data?: Record, options?: { default?: string; }) => GetTypeAtPath;