import { JwtService } from '@nestjs/jwt';
import { CommonService } from 'src/common/common.service';
import { DbService } from 'src/db/db.service';
import * as mongosse from 'mongoose';
import { RedisService } from 'src/redis/redis.service';
export declare class ChatService {
    private readonly model;
    private readonly jwtService;
    private readonly commonService;
    private readonly redisService;
    constructor(model: DbService, jwtService: JwtService, commonService: CommonService, redisService: RedisService);
    update_socket_id(token: any, socket_id: any): Promise<void>;
    create_connection(driver_id: any, customer_id: any, scope: any): Promise<mongosse.Types.ObjectId>;
    get_connection(connection_id: any): Promise<Omit<mongosse.Document<unknown, {}, import("./schema/connection.schema").Connections, {}, {}> & import("./schema/connection.schema").Connections & {
        _id: mongosse.Types.ObjectId;
    } & {
        __v: number;
    }, never> | {
        message: string;
    }>;
    send_message(connection_id: any, customer_id: any, driver_id: any, message: any, send_by: any, booking_id: any): Promise<mongosse.Document<unknown, {}, import("./schema/chat.schema").Chats, {}, {}> & import("./schema/chat.schema").Chats & {
        _id: mongosse.Types.ObjectId;
    } & {
        __v: number;
    }>;
    getAllMessage(connection_id: any, booking_id: any): Promise<(mongosse.Document<unknown, {}, import("./schema/chat.schema").Chats, {}, {}> & import("./schema/chat.schema").Chats & {
        _id: mongosse.Types.ObjectId;
    } & {
        __v: number;
    })[]>;
    read_Message(connection_id: any, scope: any, booking_id: any): Promise<void>;
    leave_connection(id: any, scope: any): Promise<{
        message: string;
    }>;
    findCustomer(id: any): Promise<mongosse.Document<unknown, {}, import("../customer/schema/customer.schema").Customers, {}, {}> & import("../customer/schema/customer.schema").Customers & {
        _id: mongosse.Types.ObjectId;
    } & {
        __v: number;
    }>;
    findDriver(id: any): Promise<mongosse.Document<unknown, {}, import("../driver/schema/driver.schema").Drivers, {}, {}> & import("../driver/schema/driver.schema").Drivers & {
        _id: mongosse.Types.ObjectId;
    } & {
        __v: number;
    }>;
    bookingDetail(id: any): Promise<mongosse.Document<unknown, {}, import("../booking/schema/booking.schema").Booking, {}, {}> & import("../booking/schema/booking.schema").Booking & {
        _id: mongosse.Types.ObjectId;
    } & {
        __v: number;
    }>;
    unreadMessageCount(scope: any, booking_id: any): Promise<{
        UnreadCount: number;
        user: {
            socket_id: any;
        };
    }>;
}
