import { I18nOptions, TranslateResult } from "vue-i18n";

declare module "flashbuy-language" {
  export function initLanguage(locale?: Locale, packages?: IPackages): I18nOptions;

  export function localeMessage(locale?: IPackages): object;

  export function i18nFormatter(key?: string): TranslateResult;

  enum Locale {
    zh_CN = "zh-CN",
    en_US = "en-US",
    ja_JP = "ja-JP",
    ko_KR = "ko-KR",
    zh_HK = "zh-HK",
    zh_TW = "zh-TW",
    vi_VN = "vi-VN",
    th_TH = "th-TH",
    id_ID = "id-ID",
    fr_FR = "fr-FR",
    de_DE = "de-DE",
  }

  interface IPackages {
    [key: string]: Object;
  }
}
