/**
 * Inventory types
 * Re-exports types from the auto-generated OpenAPI schema
 */

import type { components } from './generated/api';

// Response DTOs
export type StorageLocationDTO = components['schemas']['StorageLocationResponse'];
export type TemperatureRangeDTO = components['schemas']['TemperatureRangeResponse'];
export type StockBatchDTO = components['schemas']['StockBatchResponse'];

// Request types
export type CreateStorageLocationRequest = components['schemas']['CreateStorageLocationRequest'];
export type UpdateStorageLocationRequest = components['schemas']['UpdateStorageLocationRequest'];
export type AddStockBatchRequest = components['schemas']['AddStockBatchRequest'];

// Stock response DTOs
export type MinimumLevelDTO = components['schemas']['MinimumLevelResponse'];
export type StockDTO = components['schemas']['StockResponse'];

// Stock request types
export type CreateStockRequest = components['schemas']['CreateStockRequest'];
export type CreateStockResponse = components['schemas']['CreateStockResponse'];
export type UpdateStockRequest = components['schemas']['UpdateStockRequest'];
export type RemoveStockBatchRequest = components['schemas']['RemoveStockBatchRequest'];
export type BlockStockBatchRequest = components['schemas']['BlockStockBatchRequest'];

// Reservation types
export type ReservationDTO = components['schemas']['ReservationResponse'];
export type StockBatchAllocationDTO = components['schemas']['StockBatchAllocationResponse'];
export type ReserveStockRequest = components['schemas']['ReserveStockRequest'];

// Stock Movement types
export type StockMovementDTO = components['schemas']['StockMovementResponse'];
export type RecordStockMovementRequest = components['schemas']['RecordStockMovementRequest'];
