import { App, Ref } from 'vue'; export type Locale = 'en_US' | 'id_ID'; export interface I18n { /** * Locale message translation * * @param key - The translation key * @param params - A values of named interpolation * * @returns translation message * @example `t('Hello {user}!', { user: 'John Doe' })` - returns: 'Hello John Doe!' */ t: (key: string, params?: Record) => string; /** * Change the locale dynamically * * @param newLocale - The locale to switch to */ setLocale: (newLocale: Locale) => Promise; /** * Get the current locale * * @returns Current locale */ locale: Ref; } export declare const useI18n: () => I18n; declare const _default: { install: (app: App) => void; }; export default _default; declare module 'vue' { interface ComponentCustomProperties { $i18n: I18n; $t: I18n['t']; } }