import { RobotLifecycleStage, RobotUsageType, RobotDisposalType } from '@prisma/client';
export declare class CreateRobotUnitDto {
    modelId: string;
    skuId: string;
    usageType: RobotUsageType;
    purchaseOrderId?: string;
    purchaseOrderLineId?: string;
    originalSupplierId?: string;
    ffsn?: string;
    placeholderSnOrig?: string;
    supplierSn?: string;
    manufactureDate?: string;
    sapMaterialNo?: string;
    metadata?: Record<string, any>;
}
export declare class UpdateRobotUnitDto {
    supplierSn?: string;
    usageType?: RobotUsageType;
    manufactureDate?: string;
    sapMaterialNo?: string;
    disposalType?: RobotDisposalType;
    disposalNotes?: string;
    metadata?: Record<string, any>;
    version?: number;
}
export declare class QueryRobotUnitDto {
    search?: string;
    currentStage?: RobotLifecycleStage[];
    modelId?: string;
    skuId?: string;
    purchaseOrderId?: string;
    currentLocationId?: string;
    currentCustomerId?: string;
    isHeld?: boolean;
    includeDeleted?: boolean;
    page?: number;
    limit?: number;
    sortBy?: string;
    sortOrder?: 'asc' | 'desc';
}
export declare class ChangeStageDto {
    toStage: RobotLifecycleStage;
    reason?: string;
    metadata?: Record<string, any>;
    version?: number;
}
export declare class BulkChangeStageDto {
    robotUnitIds: string[];
    toStage: RobotLifecycleStage;
    reason?: string;
}
export declare class HoldStageDto {
    holdReason: string;
}
export declare class MoveLocationDto {
    toLocationId: string;
    reason?: string;
}
export declare class ActivateSnDto {
    supplierSn: string;
    ffsn?: string;
    advanceTo?: RobotLifecycleStage;
    reason?: string;
}
