import { TemplateRef, OnDestroy } from '@angular/core';
import { EventEmitter } from '@angular/core';
import { UploadStatus, IUploadOptions, IFileOptions } from './file-uploader.types';
import { SingleUploadViewComponent } from './single-upload-view.component';
import { SelectFiles } from './select-files.utils';
import { ModalService } from '@duoduo-oba/ng-devui/modal';
import { Observable, Subscription } from 'rxjs';
import { I18nInterface, I18nService } from '@duoduo-oba/ng-devui/i18n';
export declare class SingleUploadComponent implements OnDestroy {
    private modalService;
    private i18n;
    private selectFiles;
    dSingleUploadView: any;
    uploadOptions: IUploadOptions;
    fileOptions: IFileOptions;
    autoUpload: boolean;
    withoutBtn: boolean;
    uploadedFiles: Array<Object>;
    uploadedFilesRef: TemplateRef<any>;
    preloadFilesRef?: TemplateRef<any>;
    filePath: string;
    placeholderText: string;
    uploadText: string;
    confirmText: string;
    beforeUpload: (file: any) => boolean | Promise<boolean> | Observable<boolean>;
    enableDrop: boolean;
    successEvent: EventEmitter<any>;
    errorEvent: EventEmitter<any>;
    deleteUploadedFileEvent: EventEmitter<any>;
    fileDrop: EventEmitter<any>;
    fileOver: EventEmitter<any>;
    singleUploadViewComponent: SingleUploadViewComponent;
    UploadStatus: typeof UploadStatus;
    isDropOVer: boolean;
    i18nText: I18nInterface['upload'];
    i18nCommonText: I18nInterface['common'];
    i18nSubscription: Subscription;
    constructor(modalService: ModalService, i18n: I18nService, selectFiles: SelectFiles);
    _dealFiles(observale: any): void;
    onClick($event: any): void;
    readonly filename: string;
    onFileDrop(files: any): void;
    onFileOver(event: any): void;
    upload(): void;
    canUpload(): Promise<boolean>;
    _onDeleteUploadedFile(filePath: string): void;
    deleteFile($event: any): void;
    alertMsg(errorMsg: any): void;
    ngOnDestroy(): void;
}
