import { HttpClient } from '@angular/common/http';
import { ItemHdrQueryCriteriaClass } from '../../../criteria/item-hdr-criteria.model';
import { BasicApiResponseModel, PagingResponseModel } from '../../shared/api-response.model';
import { FinancialItemContainerModel, FinancialItemImageHdrContainer, FinancialItemLineModel, FinancialItemQueryCriteria, FinancialItemStockBalanceContainerModel } from '../../../../../../models/aggregates/erp/financial';
import { bl_fi_mst_item_ext_RowClass } from "../../../../../../models/dbschema";
import { ApiVisa } from '../../shared/api-visa.model';
import { Observable } from 'rxjs';
import { Optional } from 'typescript-optional';
import { Pagination } from '../../shared';
import { FinancialItemSearchCriteriaDtoModel } from '../../../data-transfer-objects';
import { BaseApiPublicLoginTemplateService } from '../../shared/base-api-public-login-template.service';
export declare class FinancialItemService extends BaseApiPublicLoginTemplateService<FinancialItemContainerModel, FinancialItemContainerModel, FinancialItemContainerModel> {
    readonly url: string;
    constructor(http: HttpClient);
    postByCriteriaPromise(queryCriteria: FinancialItemQueryCriteria, visa: ApiVisa): Promise<PagingResponseModel<FinancialItemContainerModel>>;
    getPromiseByCriteria(visa: ApiVisa, criteria?: ItemHdrQueryCriteriaClass): Promise<PagingResponseModel<FinancialItemContainerModel>>;
    getByLine(visa: ApiVisa, line: string): Observable<BasicApiResponseModel<FinancialItemLineModel>>;
    getByLinePromise(visa: ApiVisa, line: string): Promise<BasicApiResponseModel<FinancialItemLineModel>>;
    getObservaleByCriteria(visa: ApiVisa, criteria?: ItemHdrQueryCriteriaClass): Observable<PagingResponseModel<FinancialItemContainerModel>>;
    getByCriteriaHdr(pagination: Pagination, visa: ApiVisa): Observable<PagingResponseModel<FinancialItemContainerModel>>;
    getByCriteriaLine(pagination: Pagination, visa: ApiVisa): Observable<PagingResponseModel<FinancialItemLineModel>>;
    postItemPromise(dtoObject: FinancialItemContainerModel, visa: ApiVisa): Promise<BasicApiResponseModel<FinancialItemContainerModel>>;
    postItem(dtoObject: FinancialItemContainerModel, visa: ApiVisa): Observable<BasicApiResponseModel<FinancialItemContainerModel>>;
    editItemPromise(dtoObject: FinancialItemContainerModel, visa: ApiVisa): Promise<BasicApiResponseModel<FinancialItemContainerModel>>;
    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>;
    addImageAndDetailsIsPublic(formData: FormData, subjectGuid: any, imagepublic: any, visa: ApiVisa): Observable<Object>;
    uploadImageAndDetailsPromise(formData: FormData, subjectGuid: any, visa: ApiVisa): Promise<Object>;
    uploadImageAndDetailsIsPublicPromise(formData: FormData, subjectGuid: any, imagepublic: any, visa: ApiVisa): Promise<Object>;
    replaceImageAndDetailsIsPublic(formData: FormData, imageGuid: any, imagepublic: any, visa: ApiVisa): Observable<Object>;
    updateImageDetails(imageItemDetail: bl_fi_mst_item_ext_RowClass, httpOptions: any): Observable<ArrayBuffer>;
    updateImageDetailExt(imageItemDetail: bl_fi_mst_item_ext_RowClass, visa: ApiVisa): Observable<Object>;
    getExtDetails(imageGuid: any, httpOptions: any): Observable<ArrayBuffer>;
    getExtImageDetails(imageGuid: any, visa: ApiVisa): Observable<Object>;
    getImageDetails(imageGuid: any, visa: ApiVisa): Observable<Object>;
    getFile(extGuid: string, visa: ApiVisa): Observable<Blob>;
    static filesToFormData(files: File[], formDataKeyValue: Optional<string>): FormData;
    private static fileToFormData;
    replaceFile(file: File, fileExtGuid: string, visa: ApiVisa): Observable<BasicApiResponseModel<FinancialItemContainerModel>>;
    addFile(files: File[], hdrGuid: string, visa: ApiVisa): Observable<BasicApiResponseModel<FinancialItemContainerModel>>;
    postImageHdr(dtoObject: FinancialItemImageHdrContainer, visa: ApiVisa): Observable<BasicApiResponseModel<FinancialItemImageHdrContainer>>;
    postImageHdrPublic(dtoObject: FinancialItemImageHdrContainer, visa: ApiVisa): Observable<BasicApiResponseModel<FinancialItemImageHdrContainer>>;
    addImageHdrIsPublic(formData: FormData, hdrGuid: string, visa: ApiVisa, imagepublic?: boolean): Observable<Object>;
    replaceImageHdrIsPublic(formData: FormData, extGuid: string, visa: ApiVisa, imagepublic?: boolean): Observable<Object>;
    getImageHdrItemFile(imageHdrGuid: string, visa: ApiVisa): Observable<Object>;
    getImageHdrItemFilePublic(imageHdrGuid: string, visa: ApiVisa): Observable<Object>;
    deleteImageHdrItemFile(imageHdrGuid: string, visa: ApiVisa): Observable<Object>;
    deleteMultipleImageHdrItem(imageHdrGuids: string, visa: ApiVisa): Observable<Object>;
    getDataByPost(dtoObject: any, visa: ApiVisa): Observable<BasicApiResponseModel<any>>;
    convertBasicToBundle(dtoObject: FinancialItemContainerModel, childGuids: string[], visa: ApiVisa): Observable<Object>;
    getFiItemsBySnapshotCustomQuery(dtoObject: FinancialItemSearchCriteriaDtoModel, visa: ApiVisa): Observable<PagingResponseModel<any>>;
    getByCriteriaStockBalance(pagination: Pagination, visa: ApiVisa, criteria?: any): Observable<PagingResponseModel<FinancialItemStockBalanceContainerModel>>;
    getVerificationAndDelete(guid: string, visa: ApiVisa): Observable<BasicApiResponseModel<any>>;
    createGroupItemWithAttributes(dtoObject: any, visa: ApiVisa): Observable<BasicApiResponseModel<any>>;
    updateGroupItemWithAttributes(dtoObject: any, visa: ApiVisa): Observable<BasicApiResponseModel<any>>;
    updateItemCategoryPricingScheme(dtoObject: any, visa: ApiVisa): Observable<BasicApiResponseModel<any>>;
    createTemp(dtoObject: any, visa: ApiVisa): Observable<BasicApiResponseModel<FinancialItemContainerModel>>;
}
