import { HttpClient } from '@angular/common/http'; import { BehaviorSubject, Observable } from 'rxjs'; import { FileItem, FileValidationConfig, ValidationResult } from '../models/file-item.model'; import { FileValidationService } from './file-validation.service'; import { FilePreviewService } from './file-preview.service'; import * as i0 from "@angular/core"; export declare class BatchUploadService { private http; private validationService; private previewService; uploadQueue: BehaviorSubject; uploadQueue$: Observable; uploadQueueData: any; private uploadCancellationTokens; uploadUrl: string; private validationConfig; constructor(http: HttpClient, validationService: FileValidationService, previewService: FilePreviewService); /** * Add files to the upload queue */ addFiles(files: File[]): ValidationResult; /** * Update the validation configuration */ setValidationConfig(config: FileValidationConfig): void; /** * Get the current validation configuration */ getValidationConfig(): FileValidationConfig; /** * Upload a single file */ uploadFile(fileId: string): Observable; /** * Upload all pending files */ uploadAllFiles(): Observable; /** * Cancel a file upload */ cancelUpload(fileId: string): void; /** * Cancel all uploads */ cancelAllUploads(): void; /** * Remove a file from the queue */ removeFile(fileId: string): void; /** * Remove all files from the queue */ clearQueue(): void; /** * Retry a failed upload */ retryUpload(fileId: string): Observable; /** * Get overall upload progress */ getTotalProgress(): number; /** * Check if all files are uploaded */ areAllFilesUploaded(): boolean; /** * Helper to get a file item by ID */ private getFileItemById; /** * Helper to update a file item */ private updateFileItem; /** * Extract error message from HTTP error */ private getErrorMessage; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }