import { Model } from "mongoose";
import { JwtUtilsService } from "src/common/service/jwt-util.service";
import { otpUtilService } from "src/common/service/otp.util.service";
import { PasswordUtil } from "src/common/utils/password.util";
import { ResponseService } from "src/common/service/response.service";
import { UsersDocument } from "src/schema/users.schema";
import { ClientDocument } from "./schema/client.schema";
import { CreateClientDto } from "./dto/client.dto";
import { Response } from "express";
import { MapAdminClientDocument } from "src/schema/map-admin-users.schema";
export declare class ClientService {
    private readonly usersModel;
    private readonly mapAdminClientModel;
    private readonly clientModel;
    private resService;
    private jwtUtilService;
    private otpService;
    private passwordUtil;
    resResponse: any;
    constructor(usersModel: Model<UsersDocument>, mapAdminClientModel: Model<MapAdminClientDocument>, clientModel: Model<ClientDocument>, resService: ResponseService, jwtUtilService: JwtUtilsService, otpService: otpUtilService, passwordUtil: PasswordUtil);
    create(userId: string, dto: CreateClientDto, res: Response): Promise<Response<any, Record<string, any>>>;
    findAll(userId: string, res: Response): Promise<Response<any, Record<string, any>>>;
    upsertClient(userId: string, dto: CreateClientDto, res: Response): Promise<Response<any, Record<string, any>>>;
    getClients(userId: string, res: Response, page?: number, limit?: number, search?: string): Promise<Response<any, Record<string, any>>>;
    getClientById(userId: string, clientId: string, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteClient(userId: string, clientId: string, res: Response): Promise<Response<any, Record<string, any>>>;
    getMapClientByUserId(adminUserId: string, res: Response, page?: number, limit?: number, search?: string): Promise<Response<any, Record<string, any>>>;
}
