import { PrismaService } from "../../prisma/prisma.service";
import { ConfigService } from "@nestjs/config";
import { CreateCylinderDto } from "./dto/create-cylinder.dto";
import { UpdateCylinderDto } from "./dto/update-cylinder.dto";
import { AssignToClientDto } from "./dto/assign-to-client.dto";
import { AssignToWarehouseDto } from "./dto/assign-to-warehouse.dto";
import { RfidsDto } from "./dto/rfids.dto";
import { AssignClientDto } from "./dto/assign-client.dto";
import { BulkClaimCylindersDto } from "./dto/bulk-claim-cylinders.dto";
export declare class CylindersService {
    private prisma;
    private readonly configService;
    findByRfid(rfid: string): void;
    constructor(prisma: PrismaService, configService: ConfigService);
    assignToWarehouse(dto: AssignToWarehouseDto, user: any): Promise<{
        message: string;
    }>;
    markInside(cylinderIds: string[], user: any): Promise<{
        message: string;
        updated: number;
    }>;
    assignNewToWarehouse(warehouseId: string, cylinderIds: string[], user: any): Promise<{
        message: string;
        updated: number;
    }>;
    create(createCylinderDto: CreateCylinderDto, user: any): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: import(".prisma/client").$Enums.CylinderStatus;
        item_id: string;
        rfid: string | null;
        tareWeight: string | null;
        hydrostaticTestDate: Date | null;
        hydrostaticDueDate: Date | null;
        waterCapacity: string | null;
        manufacturingDate: Date | null;
        warehouse: {
            id: string;
            name: string;
        } | null;
        manufacturerName: string | null;
        isSpecification: string | null;
        testPressure: string | null;
        gasCapacity: string | null;
        grossWeight: string | null;
        lotNumber: string | null;
        is_client_owned: number;
        clientAssignedDate: Date | null;
        challanDate: Date | null;
        dispatchDate: Date | null;
        last_scanned_datetime: Date | null;
        claim_status: boolean;
        created_by: string | null;
        is_trial: number;
        client: {
            id: string;
            name: string;
            phone: string | null;
            address: string | null;
        } | null;
        claimedBy: {
            id: string;
            name: string;
            email: string;
        } | null;
    }>;
    getUniqueLots(page: number, perPage: number, search?: string): Promise<{
        items: {
            label: string | null;
            value: string | null;
        }[];
        pagination: {
            total: number;
            per_page: number;
            current_page: number;
            last_page: number;
        };
    }>;
    findAll(page: number, perPage: number, search?: string, status?: string, lot?: string, month?: number, dateFrom?: string, dateTo?: string, clientId?: string, warehouseId?: string, vehicleId?: string, driverId?: string, user?: any): Promise<{
        items: {
            warehouseName: string;
            warehouseId: string;
            ownerLocation: string;
            clientName: string;
            clientAddress: string;
            clientPhone: string;
            clientId: string;
            claimedByName: string;
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: import(".prisma/client").$Enums.CylinderStatus;
            item_id: string;
            rfid: string | null;
            tareWeight: string | null;
            hydrostaticTestDate: Date | null;
            hydrostaticDueDate: Date | null;
            waterCapacity: string | null;
            manufacturingDate: Date | null;
            manufacturerName: string | null;
            isSpecification: string | null;
            testPressure: string | null;
            gasCapacity: string | null;
            grossWeight: string | null;
            lotNumber: string | null;
            is_client_owned: number;
            clientAssignedDate: Date | null;
            challanDate: Date | null;
            dispatchDate: Date | null;
            last_scanned_datetime: Date | null;
            claim_status: boolean;
            created_by: string | null;
            is_trial: number;
        }[];
        pagination: {
            total: number;
            per_page: number;
            current_page: number;
            last_page: number;
        };
    } | undefined>;
    findOne(id: any): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: import(".prisma/client").$Enums.CylinderStatus;
        item_id: string;
        rfid: string | null;
        tareWeight: string | null;
        hydrostaticTestDate: Date | null;
        hydrostaticDueDate: Date | null;
        waterCapacity: string | null;
        manufacturingDate: Date | null;
        warehouse: {
            id: string;
            name: string;
        } | null;
        manufacturerName: string | null;
        isSpecification: string | null;
        testPressure: string | null;
        gasCapacity: string | null;
        grossWeight: string | null;
        lotNumber: string | null;
        is_client_owned: number;
        clientAssignedDate: Date | null;
        challanDate: Date | null;
        dispatchDate: Date | null;
        last_scanned_datetime: Date | null;
        claim_status: boolean;
        created_by: string | null;
        is_trial: number;
        client: {
            id: string;
            name: string;
            phone: string | null;
            address: string | null;
        } | null;
        claimedBy: {
            id: string;
            name: string;
            email: string;
        } | null;
    }>;
    getByRfid(rfid: any): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: import(".prisma/client").$Enums.CylinderStatus;
        item_id: string;
        rfid: string | null;
        tareWeight: string | null;
        hydrostaticTestDate: Date | null;
        hydrostaticDueDate: Date | null;
        waterCapacity: string | null;
        manufacturingDate: Date | null;
        warehouse: {
            id: string;
            name: string;
        } | null;
        manufacturerName: string | null;
        isSpecification: string | null;
        testPressure: string | null;
        gasCapacity: string | null;
        grossWeight: string | null;
        lotNumber: string | null;
        is_client_owned: number;
        clientAssignedDate: Date | null;
        challanDate: Date | null;
        dispatchDate: Date | null;
        last_scanned_datetime: Date | null;
        claim_status: boolean;
        created_by: string | null;
        is_trial: number;
        client: {
            id: string;
            name: string;
            phone: string | null;
            address: string | null;
        } | null;
        claimedBy: {
            id: string;
            name: string;
            email: string;
        } | null;
    }>;
    update(id: string, updateCylinderDto: UpdateCylinderDto, user: any): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: import(".prisma/client").$Enums.CylinderStatus;
        item_id: string;
        rfid: string | null;
        tareWeight: string | null;
        hydrostaticTestDate: Date | null;
        hydrostaticDueDate: Date | null;
        waterCapacity: string | null;
        manufacturingDate: Date | null;
        warehouse: {
            id: string;
            name: string;
        } | null;
        manufacturerName: string | null;
        isSpecification: string | null;
        testPressure: string | null;
        gasCapacity: string | null;
        grossWeight: string | null;
        lotNumber: string | null;
        is_client_owned: number;
        clientAssignedDate: Date | null;
        challanDate: Date | null;
        dispatchDate: Date | null;
        last_scanned_datetime: Date | null;
        claim_status: boolean;
        created_by: string | null;
        is_trial: number;
        client: {
            id: string;
            name: string;
            phone: string | null;
            address: string | null;
        } | null;
        claimedBy: {
            id: string;
            name: string;
            email: string;
        } | null;
    }>;
    remove(id: string): Promise<{
        id: string;
    }>;
    changeStatus(id: string): Promise<{
        id: string;
        status: import(".prisma/client").$Enums.CylinderStatus;
    }>;
    bulkClaimCylinders(dto: BulkClaimCylindersDto, authenticatedUser: any): Promise<{
        message: string;
    }>;
    getClaims(page: number, perPage: number, search?: string, user?: any): Promise<{
        items: {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: import(".prisma/client").$Enums.CylinderStatus;
            item_id: string;
            rfid: string | null;
            tareWeight: string | null;
            hydrostaticTestDate: Date | null;
            hydrostaticDueDate: Date | null;
            waterCapacity: string | null;
            manufacturingDate: Date | null;
            warehouse: {
                id: string;
                name: string;
            } | null;
            manufacturerName: string | null;
            isSpecification: string | null;
            testPressure: string | null;
            gasCapacity: string | null;
            grossWeight: string | null;
            lotNumber: string | null;
            is_client_owned: number;
            clientAssignedDate: Date | null;
            challanDate: Date | null;
            dispatchDate: Date | null;
            last_scanned_datetime: Date | null;
            claim_status: boolean;
            created_by: string | null;
            is_trial: number;
            client: {
                id: string;
                name: string;
                phone: string | null;
                address: string | null;
            } | null;
            claimedBy: {
                id: string;
                name: string;
                email: string;
            } | null;
        }[];
        pagination: {
            total: number;
            per_page: number;
            current_page: number;
            last_page: number;
        };
    }>;
    searchCylinder(query: string, page: number, perPage: number): Promise<{
        items: {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            status: import(".prisma/client").$Enums.CylinderStatus;
            item_id: string;
            rfid: string | null;
            tareWeight: string | null;
            hydrostaticTestDate: Date | null;
            hydrostaticDueDate: Date | null;
            waterCapacity: string | null;
            manufacturingDate: Date | null;
            warehouse: {
                id: string;
                name: string;
            } | null;
            manufacturerName: string | null;
            isSpecification: string | null;
            testPressure: string | null;
            gasCapacity: string | null;
            grossWeight: string | null;
            lotNumber: string | null;
            is_client_owned: number;
            clientAssignedDate: Date | null;
            challanDate: Date | null;
            dispatchDate: Date | null;
            last_scanned_datetime: Date | null;
            claim_status: boolean;
            created_by: string | null;
            is_trial: number;
            client: {
                id: string;
                name: string;
                phone: string | null;
                address: string | null;
            } | null;
            claimedBy: {
                id: string;
                name: string;
                email: string;
            } | null;
        }[];
        pagination: {
            total: number;
            per_page: number;
            current_page: number;
            last_page: number;
        };
    }>;
    getAllCylinder(): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        status: import(".prisma/client").$Enums.CylinderStatus;
        item_id: string;
        rfid: string | null;
        tareWeight: string | null;
        hydrostaticTestDate: Date | null;
        hydrostaticDueDate: Date | null;
        waterCapacity: string | null;
        manufacturingDate: Date | null;
        warehouseId: string | null;
        clientId: string | null;
        manufacturerName: string | null;
        isSpecification: string | null;
        testPressure: string | null;
        gasCapacity: string | null;
        grossWeight: string | null;
        lotNumber: string | null;
        is_client_owned: number;
        clientAssignedDate: Date | null;
        challanDate: Date | null;
        dispatchDate: Date | null;
        last_scanned_datetime: Date | null;
        claim_status: boolean;
        claimedById: string | null;
        manufacturer_id: string | null;
        created_by: string | null;
        is_trial: number;
    }[]>;
    assignClient(body: AssignClientDto, user: any): Promise<{
        message: string;
    }>;
    assignToClient(assignToClientDto: AssignToClientDto, user: any): Promise<{
        message: string;
    }>;
    updateLotClientAssignment(lotNumber: string, body: {
        clientId: string;
        cylinderIds: string[];
    }, user: any): Promise<{
        message: string;
    }>;
    reconcilecylinders(body: RfidsDto): Promise<void>;
    dissolveCylinders(body: RfidsDto): Promise<void>;
    findPlantUsers(page: number, perPage: number, search?: string): Promise<{
        items: {
            id: string;
            name: string;
        }[];
        pagination: {
            total: number;
            per_page: number;
            current_page: number;
            last_page: number;
        };
    }>;
}
