type LocaleData = { [key: string]: any; }; type I18nOptions = { locales?: string[]; defaultLocale?: string; directory?: string; extension?: string; cookieName?: string; sessionVarName?: string; indent?: string; register?: Record; request?: any; query?: boolean; session?: boolean; subdomain?: boolean; }; export declare class I18n { private devMode; private static locales; private defaultLocale; private directory; private extension; private cookieName; private sessionVarName; private indent; private request?; private prefLocale?; static localeCache: Record; static resMethods: Array; constructor(options?: I18nOptions); __: (key: string, ...args: any[]) => string; __n: (singular: string, plural: string, count: number, ...args: any[]) => string; setLocale(locale: string): string; registerMethods(helpers: Record, req: ReqType): Record; getLocale(): string; isPreferredLocale(): boolean; translate(locale: string, singular: string, plural?: string): any; private readFile; private writeFile; private locateFile; static appendLocale(locale: string, data: any): void; static getLocales(): Record; } export {};