import { PrismaService } from "../../../core/database/prisma/prisma.service";
import { Prisma, QualityLabelStatus, RobotPhysicalStatus, StickerStatus, FccStatus, LogisticsStatus } from '@prisma/client';
export declare class RobotRecordsService {
    private readonly prisma;
    private readonly logger;
    constructor(prisma: PrismaService);
    upsertQualityLabel(robotUnitId: string, labelTypeCode: string, data: {
        status?: QualityLabelStatus;
        appliedById?: string;
        verifiedById?: string;
        photoAttachmentId?: string;
    }, userId: string, organizationId: string): Promise<{
        id: string;
        createdAt: Date;
        status: import("@prisma/client").$Enums.QualityLabelStatus;
        updatedAt: Date;
        organizationId: string;
        createdById: string;
        robotUnitId: string;
        labelTypeCode: string;
        appliedAt: Date | null;
        verifiedAt: Date | null;
        appliedById: string | null;
        verifiedById: string | null;
        photoAttachmentId: string | null;
    }>;
    listQualityLabels(robotUnitId: string): Prisma.PrismaPromise<{
        id: string;
        createdAt: Date;
        status: import("@prisma/client").$Enums.QualityLabelStatus;
        updatedAt: Date;
        organizationId: string;
        createdById: string;
        robotUnitId: string;
        labelTypeCode: string;
        appliedAt: Date | null;
        verifiedAt: Date | null;
        appliedById: string | null;
        verifiedById: string | null;
        photoAttachmentId: string | null;
    }[]>;
    upsertReadiness(robotUnitId: string, data: Partial<Prisma.RobotPackageReadinessUpdateInput> & {
        specialistId?: string;
        physicalProductStatus?: RobotPhysicalStatus;
    }, userId: string, organizationId: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        organizationId: string;
        createdById: string;
        completedAt: Date | null;
        robotUnitId: string;
        physicalProductStatus: import("@prisma/client").$Enums.RobotPhysicalStatus | null;
        specialistId: string | null;
        readyAt: Date | null;
        hasRobot: boolean;
        hasBattery: boolean;
        hasRemote: boolean;
        hasUsaPowerCable: boolean;
        hasCnCableWithAdapter: boolean;
        hasPowerSupply: boolean;
        hasChargingDock: boolean;
        hasFootPads: boolean;
        hasToolsKit: boolean;
        hasPaperwork: boolean;
    }>;
    findReadiness(robotUnitId: string): Prisma.Prisma__RobotPackageReadinessClient<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        organizationId: string;
        createdById: string;
        completedAt: Date | null;
        robotUnitId: string;
        physicalProductStatus: import("@prisma/client").$Enums.RobotPhysicalStatus | null;
        specialistId: string | null;
        readyAt: Date | null;
        hasRobot: boolean;
        hasBattery: boolean;
        hasRemote: boolean;
        hasUsaPowerCable: boolean;
        hasCnCableWithAdapter: boolean;
        hasPowerSupply: boolean;
        hasChargingDock: boolean;
        hasFootPads: boolean;
        hasToolsKit: boolean;
        hasPaperwork: boolean;
    } | null, null, import("@prisma/client/runtime/library").DefaultArgs, Prisma.PrismaClientOptions>;
    addInspection(robotUnitId: string, input: {
        inspectionNo?: number;
        inspectorId?: string;
        issue?: string;
        issueTagCode?: string;
        resolvedAt?: Date | string;
        resolvedById?: string;
    }, userId: string, organizationId: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        organizationId: string;
        createdById: string;
        resolvedAt: Date | null;
        robotUnitId: string;
        inspectionNo: number;
        inspectedAt: Date;
        inspectorId: string | null;
        issue: string | null;
        issueTagCode: string | null;
        resolvedById: string | null;
    }>;
    listInspections(robotUnitId: string): Prisma.PrismaPromise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        organizationId: string;
        createdById: string;
        resolvedAt: Date | null;
        robotUnitId: string;
        inspectionNo: number;
        inspectedAt: Date;
        inspectorId: string | null;
        issue: string | null;
        issueTagCode: string | null;
        resolvedById: string | null;
    }[]>;
    addLogisticsLeg(robotUnitId: string, input: {
        legNo: number;
        fromLocationId?: string;
        toLocationId?: string;
        departedAt?: Date | string;
        arrivedAt?: Date | string;
        logisticsStatus: LogisticsStatus;
        importDeclarationTypeCode?: string;
        tariffTypeCode?: string;
        shippingReceiptAttachmentId?: string;
        additionalNotes?: string;
    }, userId: string, organizationId: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        organizationId: string;
        createdById: string;
        robotUnitId: string;
        toLocationId: string | null;
        fromLocationId: string | null;
        legNo: number;
        departedAt: Date | null;
        arrivedAt: Date | null;
        logisticsStatus: import("@prisma/client").$Enums.LogisticsStatus;
        importDeclarationTypeCode: string | null;
        tariffTypeCode: string | null;
        shippingReceiptAttachmentId: string | null;
        additionalNotes: string | null;
    }>;
    listLogisticsLegs(robotUnitId: string): Prisma.PrismaPromise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        organizationId: string;
        createdById: string;
        robotUnitId: string;
        toLocationId: string | null;
        fromLocationId: string | null;
        legNo: number;
        departedAt: Date | null;
        arrivedAt: Date | null;
        logisticsStatus: import("@prisma/client").$Enums.LogisticsStatus;
        importDeclarationTypeCode: string | null;
        tariffTypeCode: string | null;
        shippingReceiptAttachmentId: string | null;
        additionalNotes: string | null;
    }[]>;
    upsertCompliance(robotUnitId: string, input: {
        dateReady?: Date | string;
        stickerStatus?: StickerStatus;
        fccStatus?: FccStatus;
        complianceNotes?: string;
    }, userId: string, organizationId: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        organizationId: string;
        createdById: string;
        robotUnitId: string;
        dateReady: Date | null;
        stickerStatus: import("@prisma/client").$Enums.StickerStatus | null;
        fccStatus: import("@prisma/client").$Enums.FccStatus | null;
        complianceNotes: string | null;
        lastUpdatedAt: Date;
    }>;
    findCompliance(robotUnitId: string): Prisma.Prisma__ComplianceCheckClient<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        organizationId: string;
        createdById: string;
        robotUnitId: string;
        dateReady: Date | null;
        stickerStatus: import("@prisma/client").$Enums.StickerStatus | null;
        fccStatus: import("@prisma/client").$Enums.FccStatus | null;
        complianceNotes: string | null;
        lastUpdatedAt: Date;
    } | null, null, import("@prisma/client/runtime/library").DefaultArgs, Prisma.PrismaClientOptions>;
}
