import type { Ref } from "vue"
export interface NamespacedI18nOptions {
  fallbackToGlobal?: boolean
  debugMode?: boolean
}

export interface NamespacedI18nReturn {
  t: (key: string, ...args: any[]) => string
  te: (key: string) => boolean
  tm: (key: string) => any
  rt: (key: string, ...args: any[]) => string
  d: Function
  n: Function
  locale: Ref<string>
  fallbackLocale: Ref<string>
  createFullKey: (key: string) => string
  namespace: string
  setNamespaceMessages: (locale: string, messages: Record<string, any>) => void
  getNamespaceMessages: (locale: string) => Record<string, any>
}
