import { InventoryOperationType } from '@prisma/client';
export declare class CheckInDto {
    code: string;
    quantity: number;
    operationType: InventoryOperationType;
    station?: string;
    warehouseLocation?: string;
    reason?: string;
    referenceType?: string;
    referenceId?: string;
    deviceInfo?: any;
    metadata?: any;
}
export declare class CheckOutDto {
    code: string;
    quantity: number;
    station: string;
    warehouseLocation?: string;
    reason?: string;
    referenceType?: string;
    referenceId?: string;
    deviceInfo?: any;
    metadata?: any;
}
export declare class AdjustInventoryDto {
    partId: string;
    newStock: number;
    reason: string;
    station?: string;
    warehouseLocation?: string;
    metadata?: any;
}
export declare class TransferInventoryDto {
    partId: string;
    quantity: number;
    fromStation: string;
    toStation: string;
    fromWarehouseLocation?: string;
    toWarehouseLocation?: string;
    reason?: string;
    metadata?: any;
}
export declare class QueryInventoryLogsDto {
    partId?: string;
    partNumber?: string;
    operationType?: InventoryOperationType;
    station?: string;
    warehouseLocation?: string;
    operatorId?: string;
    startDate?: string;
    endDate?: string;
    page?: number;
    limit?: number;
    sortBy?: string;
    sortOrder?: 'asc' | 'desc';
}
export declare class InventoryStatsDto {
    station?: string;
    warehouseLocation?: string;
    category?: string;
    startDate?: string;
    endDate?: string;
    operationType?: InventoryOperationType;
}
export declare class QueryStockAlertsDto {
    partId?: string;
    alertType?: string;
    severity?: string;
    status?: string;
    page?: number;
    limit?: number;
    sortBy?: string;
    sortOrder?: 'asc' | 'desc';
}
export declare class AcknowledgeAlertDto {
    alertId: string;
    note?: string;
}
export declare class ResolveAlertDto {
    alertId: string;
    resolution: string;
    newStock?: number;
}
export declare class BulkInventoryOperationDto {
    operations: Array<{
        partId: string;
        quantity: number;
        operationType: InventoryOperationType;
        station?: string;
        warehouseLocation?: string;
        reason?: string;
    }>;
    skipErrors?: boolean;
}
