import type { Provider } from '@angular/core';
import type { TuiLanguage, TuiLanguageLoader, TuiLanguageName } from '@taiga-ui/i18n/types';
import type { Observable } from 'rxjs';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare function tuiLanguageSwitcher(loader: TuiLanguageLoader): Provider[];
export declare class TuiLanguageSwitcherService extends BehaviorSubject<Observable<TuiLanguage>> {
    private readonly fallback;
    private readonly key;
    private readonly storage;
    private readonly loader;
    constructor();
    get language(): TuiLanguageName;
    setLanguage(language: TuiLanguageName): void;
    protected clear(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TuiLanguageSwitcherService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TuiLanguageSwitcherService>;
}
