import { FccStatus, LogisticsStatus, QualityLabelStatus, RobotPhysicalStatus, StickerStatus } from '@prisma/client';
import type { CurrentUserPayload } from "../../../common/decorators/current-user.decorator";
import { RobotRecordsService } from './robot-records.service';
declare class UpsertQualityLabelDto {
    labelTypeCode: string;
    status?: QualityLabelStatus;
    appliedById?: string;
    verifiedById?: string;
    photoAttachmentId?: string;
}
declare class UpsertReadinessDto {
    specialistId?: string;
    physicalProductStatus?: RobotPhysicalStatus;
    hasRobot?: boolean;
    hasBattery?: boolean;
    hasRemote?: boolean;
    hasUsaPowerCable?: boolean;
    hasCnCableWithAdapter?: boolean;
    hasPowerSupply?: boolean;
    hasChargingDock?: boolean;
    hasFootPads?: boolean;
    hasToolsKit?: boolean;
    hasPaperwork?: boolean;
}
declare class AddInspectionDto {
    inspectionNo?: number;
    inspectorId?: string;
    issue?: string;
    issueTagCode?: string;
    resolvedAt?: string;
    resolvedById?: string;
}
declare class AddLogisticsLegDto {
    legNo: number;
    fromLocationId?: string;
    toLocationId?: string;
    departedAt?: string;
    arrivedAt?: string;
    logisticsStatus: LogisticsStatus;
    importDeclarationTypeCode?: string;
    tariffTypeCode?: string;
    shippingReceiptAttachmentId?: string;
    additionalNotes?: string;
}
declare class UpsertComplianceDto {
    dateReady?: string;
    stickerStatus?: StickerStatus;
    fccStatus?: FccStatus;
    complianceNotes?: string;
}
export declare class RobotRecordsController {
    private readonly service;
    constructor(service: RobotRecordsService);
    listLabels(robotId: string): import("@prisma/client").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;
    }[]>;
    upsertLabel(robotId: string, dto: UpsertQualityLabelDto, user: CurrentUserPayload): 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;
    }>;
    findReadiness(robotId: string): import("@prisma/client").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, import("@prisma/client").Prisma.PrismaClientOptions>;
    upsertReadiness(robotId: string, dto: UpsertReadinessDto, user: CurrentUserPayload): 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;
    }>;
    listInspections(robotId: string): import("@prisma/client").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;
    }[]>;
    addInspection(robotId: string, dto: AddInspectionDto, user: CurrentUserPayload): 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;
    }>;
    listLegs(robotId: string): import("@prisma/client").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;
    }[]>;
    addLeg(robotId: string, dto: AddLogisticsLegDto, user: CurrentUserPayload): 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;
    }>;
    findCompliance(robotId: string): import("@prisma/client").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, import("@prisma/client").Prisma.PrismaClientOptions>;
    upsertCompliance(robotId: string, dto: UpsertComplianceDto, user: CurrentUserPayload): 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;
    }>;
}
export {};
