import AdjustmentsBySku from './model/AdjustmentsBySku';
import InventoriesService from '../service/InventoriesService';
import LocationsService from '../../locations/service/LocationsService';
import InventoryItemQuantitiesService from './InventoryItemQuantitiesService';
export declare class InventoryBatchAdjustmentsService {
    private readonly inventoryItemQuantitiesService;
    private readonly inventoriesService;
    private readonly locationsService;
    private readonly logger;
    constructor(inventoryItemQuantitiesService: InventoryItemQuantitiesService, inventoriesService: InventoriesService, locationsService: LocationsService);
    /**
     * Adjusts multiple inventory adjustments for multiple SKU's.  If an inventory item does not yet exist
     * for a given SKU, then a new inventory item is created for it.
     *
     * The `deduplicationKey` on each AdjustmentBySku should indicate a unique identifier which will prevent
     * another adjustment for the same deduplication key, inventory item, location, and status.  For example,
     * if you only wanted to allow one adjustment per day, you could use a value of the current day/month/year.
     *
     * @param {AdjustmentsBySku} adjustmentsBySku
     */
    adjustBatch(adjustmentsBySku: AdjustmentsBySku[]): Promise<void>;
    /**
     * Sets multiple inventory adjustments for multiple SKU's.  If an inventory item does not yet exist
     * for a given SKU, then a new inventory item is created for it.
     *
     * The `deduplicationKey` on each AdjustmentBySku should indicate a unique identifier which will prevent
     * another adjustment for the same deduplication key, inventory item, location, and status.  For example,
     * if you only wanted to allow one adjustment per day, you could use a value of the current day/month/year.
     *
     * @param {AdjustmentsBySku} adjustmentsBySku
     */
    setBatch(adjustmentsBySku: AdjustmentsBySku[]): Promise<void>;
    private performAdjustments;
    private handleAdjustmentsBySku;
    private getBusinessIdFromLocation;
    private generateIdempotentKey;
    private getInventoryItem;
    private createInventoryItem;
    private sendAdjustmentRequest;
}
