import { CreateWarehouseDto } from './dto/create-warehouse.dto';
import { UpdateWarehouseDto } from './dto/update-warehouse.dto';
import { PrismaService } from "../../prisma/prisma.service";
import { MoveCylindersDto } from './dto/move-cylinders.dto';
export declare class WarehouseService {
    private readonly prisma;
    constructor(prisma: PrismaService);
    create(createWarehouseDto: CreateWarehouseDto): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        name: string;
        reader: {
            reader_id: string;
        } | null;
        location: string;
        capacity: number;
        managerName: string;
        readerId: string | null;
    }>;
    findAll(page: number, perPage: number, search?: string): Promise<{
        items: {
            cylinderCounts: {
                total: number;
                inside: number;
                outside: number;
            };
            id: string;
            createdAt: Date;
            updatedAt: Date;
            name: string;
            reader: {
                reader_id: string;
            } | null;
            location: string;
            capacity: number;
            managerName: string;
            readerId: string | null;
        }[];
        pagination: {
            total: number;
            per_page: number;
            current_page: number;
            last_page: number;
        };
    } | undefined>;
    findDistinctNames(page: number, perPage: number): Promise<{
        items: {
            id: string | null;
            name: string;
        }[];
        pagination: {
            total: number;
            per_page: number;
            current_page: number;
            last_page: number;
        };
    } | undefined>;
    findOne(id: string): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        name: string;
        reader: {
            reader_id: string;
        } | null;
        location: string;
        capacity: number;
        managerName: string;
        readerId: string | null;
    }>;
    update(id: string, updateWarehouseDto: UpdateWarehouseDto): Promise<{
        id: string;
        createdAt: Date;
        updatedAt: Date;
        name: string;
        reader: {
            reader_id: string;
        } | null;
        location: string;
        capacity: number;
        managerName: string;
        readerId: string | null;
    }>;
    remove(id: string): Promise<{
        message: string;
    }>;
    moveCylinders(moveCylindersDto: MoveCylindersDto): Promise<{
        message: string;
    }>;
    getAllWarehouses(page: number, perPage: number, search?: string): Promise<{
        items: {
            id: string;
            name: string;
            location: string;
        }[];
        pagination: {
            total: number;
            per_page: number;
            current_page: number;
            last_page: number;
        };
    } | undefined>;
}
