import { SkApiService } from 'sk-front-lib/api'; import { SkFile } from 'sk-front-lib/model'; import { SkUploaderFileItem } from './sk-uploader-file-item.model'; export interface FilterFunction { name: string; fn: (item?: SkUploaderFileItem, options?: SkFileUploaderOptions) => boolean; } export interface SkFileUploaderOptions { allowedMimeType?: string[]; allowedFileType?: string[]; autoUpload?: boolean; filters?: FilterFunction[]; maxFileSize?: number; queueLimit?: number; asyncLimit?: number; additionalParameter?: { [key: string]: any; }; parametersBeforeFiles?: boolean; } export declare class SkFileUploader { private apiService; queue: SkUploaderFileItem[]; progress: number; private _failFilterIndex; options: SkFileUploaderOptions; constructor(apiService: SkApiService, options?: SkFileUploaderOptions, selectedFiles?: SkFile[]); setOptions(options: SkFileUploaderOptions): void; setSelectedFiles(files: SkFile[]): void; addToQueue(files: SkUploaderFileItem[], filters?: FilterFunction[] | string): void; removeFromQueue(file: SkUploaderFileItem): void; clearQueue(): void; upload(item: SkUploaderFileItem): void; uploadAll(): void; private updateProgress; protected _isValidFile(file: SkUploaderFileItem, filters: FilterFunction[], options: SkFileUploaderOptions): boolean; protected _getFilters(filters: FilterFunction[] | string): FilterFunction[]; protected _queueLimitFilter(): boolean; _mimeTypeFilter(item: SkUploaderFileItem): boolean; _fileSizeFilter(item: SkUploaderFileItem): boolean; _fileTypeFilter(item: SkUploaderFileItem): boolean; private _processUpload; private _findByFilenameInQueue; getNotUploadedItems(): SkUploaderFileItem[]; getReadyItems(): SkUploaderFileItem[]; getDoneItems(): SkUploaderFileItem[]; }