import { EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { ToastService } from 'ng-devui/toast';
import { DevConfigService } from 'ng-devui/utils';
import { Observable, Subscription } from 'rxjs';
import { IFileOptions, IUploadOptions, UploadStatus } from './file-uploader.types';
import { MultipleUploadViewComponent } from './multiple-upload-view.component';
import { SelectFiles } from './select-files.utils';
import { SliceUploadService } from './slice-upload.service';
import * as i0 from "@angular/core";
export declare class MultipleUploadComponent implements OnDestroy, OnInit {
    private selectFiles;
    private i18n;
    private doc;
    private sliceUploadService;
    private devConfigService;
    private toastService;
    uploadOptions: IUploadOptions;
    fileOptions: IFileOptions;
    autoUpload: boolean;
    withoutBtn: boolean;
    showTip: boolean;
    uploadedFiles: Array<Object>;
    uploadedFilesRef: TemplateRef<any>;
    preloadFilesRef?: TemplateRef<any>;
    filePath: string;
    placeholderText: string;
    uploadText: string;
    /**
     * @deprecated
     */
    confirmText: string;
    oneTimeUpload: boolean;
    disabled: boolean;
    beforeUpload: (files: any) => boolean | Promise<boolean> | Observable<boolean>;
    setCustomUploadOptions: (file: any, uploadOptions: any, chunkedFileIndex?: any) => IUploadOptions;
    enableDrop: boolean;
    showGlowStyle: boolean;
    get hasGlowStyle(): boolean;
    successEvent: EventEmitter<Array<{
        file: File;
        response: any;
    }>>;
    errorEvent: EventEmitter<Array<{
        file: File;
        response: any;
    }>>;
    errorChunkEvent: EventEmitter<{
        file: File;
        response: any;
    }>;
    deleteUploadedFileEvent: EventEmitter<string>;
    fileDrop: EventEmitter<any>;
    fileOver: EventEmitter<boolean>;
    fileSelect: EventEmitter<File[]>;
    multipleUploadViewComponent: MultipleUploadViewComponent;
    i18nCommonText: I18nInterface['common'];
    i18nText: I18nInterface['upload'];
    isDropOVer: boolean;
    i18nSubscription: Subscription;
    errorMsg: any[];
    UploadStatus: typeof UploadStatus;
    uploadTips: string;
    document: Document;
    private onChange;
    private onTouched;
    constructor(selectFiles: SelectFiles, i18n: I18nService, doc: any, sliceUploadService: SliceUploadService, devConfigService: DevConfigService, toastService: ToastService);
    ngOnInit(): void;
    writeValue(files: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    simulateSelectFiles(files: any): Promise<unknown>;
    _dealFiles(observale: any): void;
    checkValid(): void;
    onClick(event: any): void;
    onFileDrop(files: any): void;
    onFileOver(event: any): void;
    onFileSelect(files: any): void;
    handleOneTimeUpload(uploadObservable: any): void;
    handleUpload(uploadObservable: any): void;
    upload(event?: any, fileUploader?: any): void;
    canUpload(): Promise<boolean>;
    _onDeleteUploadedFile(filePath: string): void;
    deleteFile($event: any, file: any): void;
    alertMsg(errorMsg: any): void;
    getStatus(): "failed" | "uploading" | "uploaded" | "selected";
    cancelUpload(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MultipleUploadComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MultipleUploadComponent, "d-multiple-upload", ["dMultipleUpload"], { "uploadOptions": { "alias": "uploadOptions"; "required": false; }; "fileOptions": { "alias": "fileOptions"; "required": false; }; "autoUpload": { "alias": "autoUpload"; "required": false; }; "withoutBtn": { "alias": "withoutBtn"; "required": false; }; "showTip": { "alias": "showTip"; "required": false; }; "uploadedFiles": { "alias": "uploadedFiles"; "required": false; }; "uploadedFilesRef": { "alias": "uploadedFilesRef"; "required": false; }; "preloadFilesRef": { "alias": "preloadFilesRef"; "required": false; }; "filePath": { "alias": "filePath"; "required": false; }; "placeholderText": { "alias": "placeholderText"; "required": false; }; "uploadText": { "alias": "uploadText"; "required": false; }; "confirmText": { "alias": "confirmText"; "required": false; }; "oneTimeUpload": { "alias": "oneTimeUpload"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "beforeUpload": { "alias": "beforeUpload"; "required": false; }; "setCustomUploadOptions": { "alias": "setCustomUploadOptions"; "required": false; }; "enableDrop": { "alias": "enableDrop"; "required": false; }; "showGlowStyle": { "alias": "showGlowStyle"; "required": false; }; }, { "successEvent": "successEvent"; "errorEvent": "errorEvent"; "errorChunkEvent": "errorChunkEvent"; "deleteUploadedFileEvent": "deleteUploadedFileEvent"; "fileDrop": "fileDrop"; "fileOver": "fileOver"; "fileSelect": "fileSelect"; }, never, never, false, never>;
}
