import { PrismaService } from "../../prisma/prisma.service";
import { ConfigService } from "@nestjs/config";
import { CreateClientDto } from "./dto/create-client.dto";
import { UpdateClientDto } from "./dto/update-client.dto";
export declare class ClientsService {
    private prisma;
    private readonly configService;
    constructor(prisma: PrismaService, configService: ConfigService);
    create(createClientDto: CreateClientDto, user: any): Promise<{
        id: string;
        createdAt: Date;
        name: string;
        email: string | null;
        phone: string | null;
        warehouseId: string | null;
        warehouse: {
            id: string;
            name: string;
        } | null;
        gst: string | null;
        representative: string | null;
        representativephoneno: string | null;
        address: string | null;
    }>;
    findAll(page: number, perPage: number, query: string | undefined, warehouseId?: string, user?: any): Promise<{
        items: {
            totalCylinders: number;
            id: string;
            createdAt: Date;
            name: string;
            email: string | null;
            phone: string | null;
            warehouseId: string | null;
            warehouse: {
                id: string;
                name: string;
            } | null;
            gst: string | null;
            representative: string | null;
            representativephoneno: string | null;
            address: string | null;
        }[];
        pagination: {
            total: number;
            per_page: number;
            current_page: number;
            last_page: number;
        };
    } | undefined>;
    findOne(id: any): Promise<{
        id: string;
        createdAt: Date;
        name: string;
        email: string | null;
        phone: string | null;
        warehouseId: string | null;
        warehouse: {
            id: string;
            name: string;
        } | null;
        gst: string | null;
        representative: string | null;
        representativephoneno: string | null;
        address: string | null;
    }>;
    update(id: string, updateClientDto: UpdateClientDto, user?: any): Promise<{
        id: string;
        createdAt: Date;
        name: string;
        email: string | null;
        phone: string | null;
        warehouseId: string | null;
        warehouse: {
            id: string;
            name: string;
        } | null;
        gst: string | null;
        representative: string | null;
        representativephoneno: string | null;
        address: string | null;
    }>;
    remove(id: string): Promise<{
        id: string;
    }>;
    searchClient(query: string, page: number, perPage: number): Promise<{
        items: {
            id: string;
            createdAt: Date;
            name: string;
            email: string | null;
            phone: string | null;
            warehouseId: string | null;
            warehouse: {
                id: string;
                name: string;
            } | null;
            gst: string | null;
            representative: string | null;
            representativephoneno: string | null;
            address: string | null;
        }[];
        pagination: {
            total: number;
            per_page: number;
            current_page: number;
            last_page: number;
        };
    }>;
    getAllClients(page: number, perPage: number, search?: string, warehouseId?: string): Promise<{
        items: {
            id: string;
            name: string;
        }[];
        pagination: {
            total: number;
            per_page: number;
            current_page: number;
            last_page: number;
        };
    } | undefined>;
}
