/**
 * @license
 * Copyright Alibaba.com All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
 */
import { ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { Observable, Subscription } from 'rxjs';
import { NzI18nService } from 'ng-zorro-antd/i18n';
import { ShowUploadListInterface, UploadChangeParam, UploadFile, UploadFilter, UploadListType, UploadTransformFileType, UploadType, UploadXHRArgs, ZipButtonOptions } from './interface';
import { NzUploadBtnComponent } from './upload-btn.component';
import { NzUploadListComponent } from './upload-list.component';
import * as i0 from "@angular/core";
export declare class NzUploadComponent implements OnInit, OnChanges, OnDestroy {
    private cdr;
    private i18n;
    private i18n$;
    uploadComp: NzUploadBtnComponent;
    listComp: NzUploadListComponent;
    locale: any;
    nzType: UploadType;
    nzLimit: number;
    nzSize: number;
    nzFileType: string;
    nzAccept: string | string[];
    nzAction: string | ((file: UploadFile) => string | Observable<string>);
    nzDirectory: boolean;
    nzOpenFileDialogOnClick: boolean;
    nzBeforeUpload: (file: UploadFile, fileList: UploadFile[]) => boolean | Observable<boolean>;
    nzCustomRequest: (item: UploadXHRArgs) => Subscription;
    nzData: {} | ((file: UploadFile) => {} | Observable<{}>);
    nzFilter: UploadFilter[];
    nzFileList: UploadFile[];
    nzDisabled: boolean;
    nzHeaders: {} | ((file: UploadFile) => {} | Observable<{}>);
    nzListType: UploadListType;
    nzMultiple: boolean;
    nzName: string;
    private _showUploadList;
    set nzShowUploadList(value: boolean | ShowUploadListInterface);
    get nzShowUploadList(): boolean | ShowUploadListInterface;
    nzShowButton: boolean;
    nzWithCredentials: boolean;
    nzRemove: (file: UploadFile) => boolean | Observable<boolean>;
    nzPreview: (file: UploadFile) => void;
    nzPreviewFile: (file: UploadFile) => Observable<string>;
    nzTransformFile: (file: UploadFile) => UploadTransformFileType;
    nzDownload: (file: UploadFile) => void;
    nzIconRender: TemplateRef<void>;
    readonly nzChange: EventEmitter<UploadChangeParam>;
    readonly nzFileListChange: EventEmitter<UploadFile[]>;
    _btnOptions: ZipButtonOptions;
    private zipOptions;
    constructor(cdr: ChangeDetectorRef, i18n: NzI18nService);
    private fileToObject;
    private getFileItem;
    private removeFileItem;
    private onStart;
    private onProgress;
    private onSuccess;
    private onError;
    private dragState;
    fileDrop(e: DragEvent): void;
    private detectChangesList;
    onRemove: (file: UploadFile) => void;
    private prefixCls;
    classList: string[];
    private setClassMap;
    ngOnInit(): void;
    ngOnChanges(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDef<NzUploadComponent>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<NzUploadComponent, "nz-upload", ["nzUpload"], { "nzType": "nzType"; "nzLimit": "nzLimit"; "nzSize": "nzSize"; "nzFileType": "nzFileType"; "nzAccept": "nzAccept"; "nzAction": "nzAction"; "nzDirectory": "nzDirectory"; "nzOpenFileDialogOnClick": "nzOpenFileDialogOnClick"; "nzBeforeUpload": "nzBeforeUpload"; "nzCustomRequest": "nzCustomRequest"; "nzData": "nzData"; "nzFilter": "nzFilter"; "nzFileList": "nzFileList"; "nzDisabled": "nzDisabled"; "nzHeaders": "nzHeaders"; "nzListType": "nzListType"; "nzMultiple": "nzMultiple"; "nzName": "nzName"; "nzShowUploadList": "nzShowUploadList"; "nzShowButton": "nzShowButton"; "nzWithCredentials": "nzWithCredentials"; "nzRemove": "nzRemove"; "nzPreview": "nzPreview"; "nzPreviewFile": "nzPreviewFile"; "nzTransformFile": "nzTransformFile"; "nzDownload": "nzDownload"; "nzIconRender": "nzIconRender"; }, { "nzChange": "nzChange"; "nzFileListChange": "nzFileListChange"; }, never>;
}
