import type { Callback } from 'i18next'; import i18next from 'i18next'; import type { InitOptions } from 'i18next'; import { InterfaceSymbol } from '@microsoft/fast-foundation'; import type { Resource } from 'i18next'; import type { TFunction } from 'i18next'; import type { TOptions } from 'i18next'; /** * The default implementation for the I18next interface. * @public */ export declare class DefaultI18next implements I18next { config: I18nextConfig; language: string; options: InitOptions; constructor(); init(options: InitOptions, callback?: Callback): Promise; t(key: string | string[], options?: string | TOptions): string; changeLanguageTo(language: string): void; addResources(resources: Resource): void; } /** * Default I18nextConfig DI implementation. * @public */ export declare const defaultI18nextConfig: I18nextConfig; /** * The I18next interface is used to provide i18n functionality to components. * @alpha */ export declare interface I18next { readonly config: I18nextConfig; options: InitOptions; language: string; init(options: InitOptions, callback?: Callback): Promise; t(key: string | string[], options?: string | TOptions): string; changeLanguageTo(language: string): void; addResources(resources: Resource): void; } /** * The DI token for the i18n interface. * @internal */ export declare const I18next: InterfaceSymbol; export { i18next } /** * I18nextConfig DI interface. * @public */ export declare interface I18nextConfig extends InitOptions { } /** * I18nextConfig DI key. * * @internal * @privateRemarks * Marked as internal to stop api-extractor becoming confused cross-linking tokens with the same name. */ export declare const I18nextConfig: InterfaceSymbol; export { }