import type { InjectionKey } from 'vue' type FdsI18nTranslate = (key: string, ...args: unknown[]) => unknown type FdsI18nHasKey = (key: string, ...args: unknown[]) => boolean type FdsI18nLocale = string | { value: string } export interface FdsI18nLike { t?: FdsI18nTranslate te?: FdsI18nHasKey locale?: FdsI18nLocale getLocaleMessage?: (locale: string) => unknown setLocaleMessage?: (locale: string, message: unknown) => void global?: { t?: FdsI18nTranslate te?: FdsI18nHasKey locale?: FdsI18nLocale getLocaleMessage?: (locale: string) => unknown setLocaleMessage?: (locale: string, message: unknown) => void } } export const FDS_VUE_CORE_I18N_KEY: InjectionKey = Symbol('fds-vue-core:i18n')