import { FileUploader } from 'ng2-file-upload';
import { HttpClient } from '@angular/common/http';
import { EventEmitter, OnInit } from '@angular/core';
import { InputFormsConfig } from '../../input-forms-config';
import * as i0 from "@angular/core";
export declare class InputUploadComponent implements OnInit {
    private http;
    url: string;
    label?: string;
    help: string;
    description: string;
    placeholder?: string;
    dropZonePlaceholder?: string;
    disabled?: boolean;
    autoUpload?: boolean;
    showDropZone?: boolean;
    showQueue?: boolean;
    chunk?: boolean;
    chunkSize?: number;
    chunkRetries?: number;
    chunkRequestsCountInParallel?: number;
    maxFileSize?: number;
    withCredentials?: boolean;
    selectButtonIcon?: string;
    selectButtonLabel?: string;
    removeButtonIcon?: string;
    removeButtonLabel?: string;
    removeButtonAllowed?: boolean;
    allowedExtensions?: Array<string>;
    fileTypeErrorMessage?: string;
    fileSizeErrorMessage?: string;
    maxFileSizeLabel?: string;
    allowedExtensionsLabel?: string;
    onFileAdded: EventEmitter<any>;
    onUploadComplete: EventEmitter<any>;
    onChunkFileUpload: EventEmitter<any>;
    onError: EventEmitter<any>;
    onClear: EventEmitter<any>;
    identifier: string;
    private onParallelChunkCompletes;
    selectedFileBlob: any;
    selectedFileModel: any;
    selectedFileName: string;
    errorMessage: string;
    uploader: FileUploader;
    hasDropZoneOver: boolean;
    chunks: any[];
    chunkProgress: number;
    constructor(config: InputFormsConfig, http: HttpClient);
    ngOnInit(): void;
    Clear(): void;
    StartUploadManually(): Promise<any>;
    SetSelectedFileName(fileName: string): void;
    OnFileOver(e: any): void;
    OnFileChange(event: any): void;
    OnFileDrop(event: any): void;
    HasFile(): boolean;
    ResetState(): void;
    private startSingleUpload;
    private startChunkUpload;
    private sendChunks;
    private sendGroupedPromisesSequentially;
    private splitSelectedFileInChunks;
    private handleUploaderEvents;
    private addSelectedFileForManualUploading;
    private validate;
    private validateFileType;
    private validateFileSize;
    static ɵfac: i0.ɵɵFactoryDeclaration<InputUploadComponent, [{ optional: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InputUploadComponent, "input-upload", never, { "url": "url"; "label": "label"; "help": "help"; "description": "description"; "placeholder": "placeholder"; "dropZonePlaceholder": "dropZonePlaceholder"; "disabled": "disabled"; "autoUpload": "autoUpload"; "showDropZone": "showDropZone"; "showQueue": "showQueue"; "chunk": "chunk"; "chunkSize": "chunkSize"; "chunkRetries": "chunkRetries"; "chunkRequestsCountInParallel": "chunkRequestsCountInParallel"; "maxFileSize": "maxFileSize"; "withCredentials": "withCredentials"; "selectButtonIcon": "selectButtonIcon"; "selectButtonLabel": "selectButtonLabel"; "removeButtonIcon": "removeButtonIcon"; "removeButtonLabel": "removeButtonLabel"; "removeButtonAllowed": "removeButtonAllowed"; "allowedExtensions": "allowedExtensions"; "fileTypeErrorMessage": "fileTypeErrorMessage"; "fileSizeErrorMessage": "fileSizeErrorMessage"; "maxFileSizeLabel": "maxFileSizeLabel"; "allowedExtensionsLabel": "allowedExtensionsLabel"; }, { "onFileAdded": "onFileAdded"; "onUploadComplete": "onUploadComplete"; "onChunkFileUpload": "onChunkFileUpload"; "onError": "onError"; "onClear": "onClear"; }, never, never, false, never>;
}
