import { HttpClient } from '@angular/common/http';
import { BaseApiTemplateService, ApiVisa, ApiResponseModel } from '../../shared';
import { Observable } from 'rxjs';
import { StockAvailabilityOutputDtoModel } from '../../../../../../models/aggregates/erp/stock/stock-availability-output-dto.model';
import { BinAvailabilityContainer } from '../../../../../../models/aggregates/erp/stock/bin-availability-container.model';
import { BinAvailabilityQueryCriteria } from '../../../../../../models/aggregates/erp/stock/bin-availability-query-criteria.model';
export interface StockAvailabilityInputModel {
    inventory_item_guids: [];
    location_guids: [];
    stock_server_doc_type_signum_dto_list: string;
    keyword: string;
}
export interface BinAvailabilityOutputModel {
    stockAvailabilityDetailsOutputDto: StockAvailabilityOutputDtoModel;
    binAvailabilityContainers: BinAvailabilityContainer[];
}
export declare class StockAvailabilityService extends BaseApiTemplateService<any> {
    readonly url: string;
    constructor(http: HttpClient);
    getAPIUrl(apiVisa: ApiVisa): string;
    getStockAvailability(inputModel: StockAvailabilityInputModel, apiVisa: ApiVisa): Observable<ApiResponseModel<any>>;
    getStockBalanceByCriteria(dtoObject: any, visa: ApiVisa): Observable<ApiResponseModel<any>>;
    getStockAvailabilityWithBins(inputModel: StockAvailabilityInputModel, apiVisa: ApiVisa): Observable<ApiResponseModel<any>>;
    getStockAvailabilityWithBinsV2(criteria: BinAvailabilityQueryCriteria, apiVisa: ApiVisa): Observable<ApiResponseModel<any>>;
}
