import { EventEmitter } from '@angular/core';
import { PoUploadFile } from './po-upload-file';
import { Observable, Subscription } from 'rxjs';
export declare class PoUploadBaseService {
    private readonly http;
    formField: string;
    requests: Array<any>;
    /**
     * Método responsável por enviar os arquivos ao servidor, conforme o parâmetro URL.
     *
     * @param url URL da requisição a ser efetuada.
     * @param files Arquivos a serem enviados.
     * @param tOnUpload Função a ser executada quando o arquivo for enviado ao servidor.
     * @param uploadCallback Função que será executada enquanto os arquivos estiverem sendo enviados.
     * @param successCallback Função a ser executada quando a requisição for efetuada com sucesso.
     * @param errorCallback Função a ser executada quando a requisição foi efetuada com sucesso.
     */
    upload(url: string, files: Array<PoUploadFile>, headers: {
        [name: string]: string | Array<string>;
    }, tOnUpload: EventEmitter<any>, uploadCallback: (file: PoUploadFile, percent: number) => void, successCallback: (file: PoUploadFile, event: any) => void, errorCallback: (file: PoUploadFile, event: any) => void): void;
    sendFile(url: string, file: PoUploadFile, headers: {
        [name: string]: string | Array<string>;
    }, formData: FormData, uploadCallback: (file: PoUploadFile, percent: number) => void, successCallback: (file: PoUploadFile, event: any) => void, errorCallback: (file: PoUploadFile, event: any) => void): void;
    getRequest(url: string, headers: {
        [name: string]: string | Array<string>;
    }, formData: FormData): Observable<any>;
    stopRequestByFile(file: any, callback: () => void): void;
    removeRequest(requestObj: any): void;
    addRequest(file: PoUploadFile, request: Subscription): void;
}
