import { HttpClient } from '@angular/common/http';
import { BaseApiPublicLoginTemplateService } from '../../shared/base-api-public-login-template.service';
import { LabelContainerModel } from '../../../../../../models/aggregates/erp/label';
import { ApiResponseModel, PagingResponseModel } from '../../shared/api-response.model';
import { ApiVisa } from '../../shared/api-visa.model';
import { LabelQueryCriteriaClass } from '../../../criteria';
import { Observable } from 'rxjs';
export declare class LabelService extends BaseApiPublicLoginTemplateService<LabelContainerModel, LabelContainerModel, LabelContainerModel> {
    readonly url: string;
    static readonly LABEL_SUB_PATH = "labels/";
    constructor(http: HttpClient);
    getPromiseByCriteria(visa: ApiVisa, criteria?: LabelQueryCriteriaClass): Promise<ApiResponseModel<LabelContainerModel>>;
    getByCriteriaObservable(visa: ApiVisa, criteria?: LabelQueryCriteriaClass): Observable<ApiResponseModel<LabelContainerModel>>;
    updateImageAndDetails(formData: FormData, imageGuid: any, httpOptions: any): Observable<ArrayBuffer>;
    replaceImageAndDetails(formData: FormData, imageGuid: any, visa: ApiVisa): Observable<Object>;
    uploadImageAndDetails(formData: FormData, subjectGuid: any, httpOptions: any): Observable<ArrayBuffer>;
    addImageAndDetails(formData: FormData, subjectGuid: any, visa: ApiVisa): Observable<Object>;
    getImageDetails(imageGuid: any, visa: ApiVisa): Observable<Object>;
    deleteImageDetails(imageGuid: any, visa: ApiVisa): Observable<Object>;
    getFile(extGuid: string, visa: ApiVisa): Observable<Blob>;
    getByCriteriaPost(dtoObject: any, visa: ApiVisa): Observable<PagingResponseModel<LabelContainerModel>>;
}
