import type { Generic } from 'adopted-style-sheets';
interface ITranslationOptions {
    count?: number;
    placeholders?: {
        [K: string]: string;
    };
}
export interface II18nService {
    addResourceBundle: (lng: Generic.I18n.Locale.ISO_639_1, translationMap: Generic.I18n.Map<string, string>) => void;
    translate: (key: string, options?: ITranslationOptions) => string;
}
export declare class I18nextService implements II18nService {
    private static instance;
    private static namespace;
    private constructor();
    static createInstance(lng: Generic.I18n.Locale.ISO_639_1, translations?: Generic.I18n.RegisterPatch<Generic.I18n.Locale.ISO_639_1, string, string> | Generic.I18n.RegisterPatch<Generic.I18n.Locale.ISO_639_1, string, string>[] | Set<Generic.I18n.RegisterPatch<Generic.I18n.Locale.ISO_639_1, string, string>>): Promise<II18nService>;
    static addResourceBundle(lng: Generic.I18n.Locale.ISO_639_1, translationMap: Generic.I18n.Map<string, string>): void;
    addResourceBundle(lng: Generic.I18n.Locale.ISO_639_1, translationMap: Generic.I18n.Map<string, string>): void;
    translate(key: string, options?: ITranslationOptions): string;
}
export {};
