import { Clipboard } from '@angular/cdk/clipboard';
import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { AudioErrorCase } from '../../../tld-audio/models';
import { IDictateConfiguration } from '../../../tld-audio/models/dictate-configurationi.model';
import { AudioRecordService, TldVoiceInputService } from '../../../tld-audio/services';
import { TldTranslateSystemManagementService, TldTranslateConfigService } from '../../../tld-common/services';
import { TldScrollService } from '../../../tld-common/services/scroll/tld-scroll.service';
import { TldTranslateFileService } from '../../../tld-document/services';
import { TldTranslateTextService } from '../../services/tld-translate-text.service';
import { TldTranslateSourceComponent } from '../tld-translate-source/tld-translate-source.component';
import { ActiveData, AlertService } from '@tilde-nlp/ngx-common';
import { TldDictateComponent } from '../../../tld-audio';
import { LLMService } from '@tilde-nlp/ngx-services';
import { KeycloakService } from 'keycloak-angular';
import * as i0 from "@angular/core";
export declare class TldTranslateTextComponent implements OnInit, OnDestroy {
    private readonly translateTextService;
    private readonly clipboard;
    private readonly alerts;
    private readonly config;
    private readonly tldScrollService;
    private readonly tldSystem;
    private readonly audioService;
    private readonly voiceInputService;
    private readonly fileService;
    private readonly llmService;
    private readonly keycloak;
    sourceComponent: TldTranslateSourceComponent;
    dictateComponent: TldDictateComponent;
    filePreviewProgress: number;
    onFileChange: EventEmitter<File[]>;
    activeData: import("@angular/core").WritableSignal<ActiveData>;
    get systemId(): string;
    get allowedFileTypes(): string[];
    get extendedFileTypes(): string[];
    get appId(): string;
    get highlight(): boolean;
    get fileUpload(): boolean;
    get isAuth(): boolean;
    get maxFileUploadSize(): number;
    get multipleFiles(): boolean;
    get updateTranslationUrl(): string;
    get allowWebsiteTranslation(): boolean;
    get autoRedirectToWebTranslate(): boolean;
    get webWidgetRedirectUrlPrefix(): string;
    get webWidgetRedirectUrlPosfix(): string;
    get textareaDisabled(): boolean;
    get fileUploadDisabled(): boolean;
    get isDictating(): boolean;
    get sourceLanguage(): string;
    get targetLanguage(): string;
    get hasTranslatedParagraphs(): boolean;
    get isEmptyTarget(): boolean;
    get showTargetPlaceholder(): string;
    get showExtensionPopup(): boolean;
    get visibleExtensionCount(): number;
    get textToSpeechTargetSettings(): import("../../../../components/shared/text-to-speech/models/text-to-speech-settings.model").TextToSpeechSettings;
    get textToSpeechSourceSettings(): import("../../../../components/shared/text-to-speech/models/text-to-speech-settings.model").TextToSpeechSettings;
    get uploadIconName(): string;
    get isLlmEnabled(): boolean;
    audioInputVisible: import("@angular/core").Signal<string>;
    targetSentenceSelect: boolean;
    get urlToTranslate(): string;
    onlineAsrSystemId: import("@angular/core").Signal<string>;
    allowedTypesWithoutDots: string[];
    readonly copyMessageId = "tld-copy-success";
    readonly copyMessageCloseButtonId = "tld-copy-success-close";
    readonly copyButtonId = "tld-copy-to-clipboard";
    get translatedText(): string;
    get firstParagraphTranslated(): boolean;
    get isTranslating(): boolean;
    get translationError(): boolean;
    get isTextSummarizable(): boolean;
    get hasDictionary(): boolean;
    get dictionaryEntry(): import("@tilde-nlp/ngx-translate").Dictionary[];
    get source(): string;
    get translateUrlRedirect(): string;
    get showProgressIndicator(): boolean;
    get paragraphs(): import("@tilde-nlp/ngx-translate").IParagraphInfo[];
    get sourceParagraphs(): import("@tilde-nlp/ngx-translate").IHighlightTree[];
    get targetParagraphs(): import("@tilde-nlp/ngx-translate").IHighlightTree[];
    get targetWrapperOverflow(): boolean;
    dictateConfig: IDictateConfiguration;
    visibleExtensions: string;
    maxSizeMB: number;
    isRephraseActive: boolean;
    isSummarazing: boolean;
    summarizedText: string;
    markedSummarizedText: string;
    summarizeFeatureLocalStorageKey: string;
    rephraseFeatureLocalStorageKey: string;
    isMobile: boolean;
    private readonly destroy$;
    constructor(translateTextService: TldTranslateTextService, clipboard: Clipboard, alerts: AlertService, config: TldTranslateConfigService, tldScrollService: TldScrollService, tldSystem: TldTranslateSystemManagementService, audioService: AudioRecordService, voiceInputService: TldVoiceInputService, fileService: TldTranslateFileService, llmService: LLMService, keycloak: KeycloakService);
    ngOnInit(): void;
    copy(): void;
    copySummarizedText(): void;
    refresh(): void;
    showRephraseOptions(): void;
    createSummary(): void;
    switchFocusFromCopy(event: any): void;
    fileChange(files: File[]): void;
    fileUploadError(error: any): void;
    navigateToTranslatedUrl(): void;
    dictateStartStop(isDictating: boolean): void;
    dictateResult(result: string): void;
    dictatePartialResult(partialResult: string): void;
    dictateError(error: AudioErrorCase): void;
    clearSource(): void;
    ngOnDestroy(): void;
    closeProgressIndicator(): void;
    openFileUpload(): void;
    private summaryPlausible;
    private summaryCopyPlausible;
    private scroll;
    private clearSummarize;
    static ɵfac: i0.ɵɵFactoryDeclaration<TldTranslateTextComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TldTranslateTextComponent, "tld-translate-text", never, { "filePreviewProgress": { "alias": "filePreviewProgress"; "required": false; }; }, { "onFileChange": "onFileChange"; }, never, never, false, never>;
}
