import { HttpErrorResponse, HttpRequest } from '@angular/common/http';
import { Observable } from 'rxjs';
import { UploadListener, UploadItemOptions } from './models';
export declare class UploadItem {
    private listener;
    readonly preview: Observable<string>;
    readonly onResponse: Observable<any>;
    readonly onProgress: Observable<number>;
    readonly onError: Observable<HttpErrorResponse>;
    private onResponseSubject;
    private onProgressSubject;
    private onErrorSubject;
    private _req;
    private _progress;
    private url;
    private method;
    private file;
    private fileAlias;
    private additionalParams;
    private ready;
    private uploading;
    private uploaded;
    private cancelled;
    private error;
    constructor(listener: UploadListener, options: UploadItemOptions);
    readonly req: HttpRequest<FormData>;
    readonly progress: number;
    readonly fileName: string;
    readonly isReady: boolean;
    readonly isUploading: boolean;
    readonly isUploaded: boolean;
    readonly isCancelled: boolean;
    readonly isError: boolean;
    private buildFormData;
    private buildRequest;
    private readMediaFile;
    cleanup(): void;
    onBeforeUpload(): void;
    onUploadStart(): void;
    onUploadSuccess(res: any): void;
    onUploadProgress(progress: number): void;
    onUploadCancelled(): void;
    onUploadError(err: HttpErrorResponse): void;
    upload(additionalParams?: {
        [key: string]: any;
    }): void;
    cancel(): void;
    remove(): void;
}
