import { DomSanitizer } from '@angular/platform-browser';
import { ActiveData, AlertService, FileUploadError } from '@tilde-nlp/ngx-common';
import { Observable } from 'rxjs';
import { IFileMeta } from '../../tld-common/models';
import { TldTranslateConfigService, TldTranslateSystemManagementService } from '../../tld-common/services';
import { ITranslationFile } from '../models/translate-file.model';
import { FileApiService } from './api/file-api.service';
import { QuotaService } from '@tilde-nlp/ngx-services';
import * as i0 from "@angular/core";
export declare class TldTranslateFileService {
    private readonly fileApi;
    private readonly alerts;
    private sanitizer;
    private config;
    private readonly tldSystem;
    private readonly quotaService;
    translationStarted: boolean;
    /** Value to be set to true while loading source preview. At that time, translate button should be disabled. */
    get isUploadingFile(): boolean;
    translationFiles: ITranslationFile[];
    fileNames: string[];
    filesAdded: number;
    anyPdfFileLoaded: boolean;
    anyImageFileLoaded: boolean;
    translatedCount: number;
    multipleFileUploadActive: boolean;
    get disableTranslateButton(): boolean;
    private readonly _onFilesUploaded;
    private activeSystem;
    private readonly _defaultStatusCheckTimeout;
    private readonly _retryErrorCodes;
    private readonly _networkErrorMaxRetries;
    private readonly _statusTimeouts;
    private readonly _onClear;
    private readonly _supportedImageExtensions;
    private filesUploading;
    private notFoundErrorCode;
    private notFoundRemoveErrorCode;
    private readonly errorTranslationSubKeys;
    constructor(fileApi: FileApiService, alerts: AlertService, sanitizer: DomSanitizer, config: TldTranslateConfigService, tldSystem: TldTranslateSystemManagementService, quotaService: QuotaService);
    clear(): void;
    onClear(): Observable<any>;
    onFilesUploaded(): Observable<any>;
    remove(file: ITranslationFile): void;
    download(translationFile: ITranslationFile, fileMeta: IFileMeta): void;
    loadFilePreview(file: File): ITranslationFile;
    translateButtonClick(active: ActiveData): void;
    startFileTranslation(activeSystem: ActiveData, translationFile: ITranslationFile): void;
    fileUploadError(error: FileUploadError): void;
    private canStartTranslation;
    private checkTranslationProgress;
    private onFilePreviewLoad;
    private translatedDocPreview;
    private fileApiError;
    private filePreviewAlerts;
    private onError;
    private fileUploaded;
    private hasAnyImageOrPdf;
    private clearParams;
    private onTranslationFileError;
    static ɵfac: i0.ɵɵFactoryDeclaration<TldTranslateFileService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TldTranslateFileService>;
}
