import { ActiveData, Domain, LangListItem, System } from '@tilde-nlp/ngx-common';
import { Observable, ReplaySubject } from 'rxjs';
import { Resource } from '@tilde-nlp/ngx-services';
import * as i0 from "@angular/core";
export declare class TldTranslateSystemManagementService {
    private systemService;
    private config;
    private alert;
    private resourceService;
    noSystemsError: boolean;
    systems: System[];
    readonly onlineASrSystems: import("@angular/core").WritableSignal<Resource[]>;
    readonly ttsSystems: import("@angular/core").WritableSignal<Resource[]>;
    widgetInitialized: boolean;
    sysList: ReplaySubject<System[]>;
    activeDomain: Domain;
    canSwapLanguages: boolean;
    defaultErrorTranslationKey: string;
    private loadedSystemsSubject;
    get activeVendor(): string;
    get defaultVendor(): string;
    get defaultDomains(): string[];
    get defaultTargetLanguage(): string;
    get domainsAvailable(): boolean;
    private sourceLanguage;
    private activeSystem;
    private domains;
    private vendors;
    private targetLanguage;
    private sourceLangList;
    private targetLangList;
    get recentSystemsMaxCount(): number;
    private recentSystems;
    private readonly recentSystemKey;
    private readonly active;
    /**
    * This method is being called when auto language detection was chosen.
    */
    enableLanguageDetection(retranslate?: boolean): void;
    /**
    * This method is being used to set detected language.
    * Also, when language was detected and we want to clear source text, this method also is being called.
    */
    setDetectedLanguage(langCode: string): void;
    getSystems(): System[];
    changeLanguage(source: string, target: string, retranslate?: boolean, isDetection?: boolean): void;
    showSameLanguages(lang: string): void;
    getActiveData(): Observable<ActiveData>;
    getActiveSystemObj(): System;
    getActiveVendorsAndDomains(): void;
    getLastUsedSystem(): string;
    getUniqueLanguages(list: LangListItem[]): string[];
    init(defaultSystemLanguageId: string): void;
    getLoadedSystems(): Observable<System[]>;
    setLastUsedSystem(systemId: string): void;
    swapSystemLanguages(): void;
    changeSystem(languageId: string, retranslate?: boolean, isRecentSystem?: boolean): void;
    systemExists(languageId: string, systemList: System[]): boolean;
    isTerminologySupported(system: System): boolean;
    changeSourceLanguage(sourceLanguageCode: string): void;
    changeTargetLanguage(targetLanguageCode: string): void;
    private createRecentSystemArray;
    private addToRecentSystemArray;
    private canSwapSystemLanguages;
    private createLangList;
    private findCorrectSystem;
    private onActiveSystemChange;
    private createSystem;
    private loadSpeechSystems;
    static ɵfac: i0.ɵɵFactoryDeclaration<TldTranslateSystemManagementService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TldTranslateSystemManagementService>;
}
