import { i18n } from "i18next"; import { DetectorOptions as DetectorOptionsClient } from "i18next-browser-languagedetector"; export interface CookieOption { name: string; domain: string; } export interface DetectOptions { cookieName: string; cookieDomain?: string; qs: string; } export interface ITranslationServiceConfig { remoteUrl: string; detect: DetectOptions; langList: string[]; debug: boolean; } export interface ITranslationConfigPassing extends ITranslationServiceConfig { language: string; projectName: string; } export interface DetectorOptionsServer { caches?: Array | boolean; cookieDomain?: string; cookieExpirationDate?: Date; lookupCookie?: string; lookupFromPathIndex?: number; lookupQuerystring?: string; lookupSession?: string; order?: Array; } export declare type DetectorOptions = DetectorOptionsServer | DetectorOptionsClient; export interface ITranslationServiceData { remoteUrl: string; detection: Type; langList: string[]; debug: boolean; language?: string; projectName?: string; } export declare type OptionsHandler = (p: Partial) => ITranslationServiceData; export interface CreatorInfo { detect: DetectOptions; nsList: string[]; lngList: string[]; remoteUrl: string; } export interface I18nObject extends i18n { wait: Promise; extraInfo: CreatorInfo; }