import type { CrowdinLocale } from './constants'; import type { MergedLocalizerTokens, GetMessageArgs, LocalizerComponentProps, SimpleLocalizerTokens, ArgsFromToken, } from './localeTools'; export type I18nMethods = { /** @see {@link window.i18n.stripped} */ stripped: (...[token, args]: GetMessageArgs) => string | T; strippedWithObj: ( opts: LocalizerComponentProps ) => string | T; /** @see {@link window.i18n.inEnglish} */ inEnglish: (token: T) => string | T; /** @see {@link window.i18n.formatMessageWithArgs */ getRawMessage: ( crowdinLocale: CrowdinLocale, ...[token, args]: GetMessageArgs ) => string | T; /** @see {@link window.i18n.formatMessageWithArgs} */ formatMessageWithArgs: ( rawMessage: string, args?: ArgsFromToken ) => string | T; };