import { OnGatewayConnection, OnGatewayDisconnect } from '@nestjs/websockets';
import { Server, Socket } from 'socket.io';
import { ChatService } from './chat.service';
import { CreateConnectionDto, GetMessageDto, SendMessageDto } from './dto/chat.dto';
import { findBookingListDto } from 'src/booking/dto/booking.dto';
import { BookingService } from 'src/booking/booking.service';
import { RedisService } from 'src/redis/redis.service';
interface CustomSocket extends Socket {
    user: any;
}
export declare class ChatGateway implements OnGatewayConnection, OnGatewayDisconnect {
    private readonly chatService;
    private readonly booking_service;
    private readonly redisService;
    constructor(chatService: ChatService, booking_service: BookingService, redisService: RedisService);
    server: Server;
    handleConnection(socket: CustomSocket): Promise<void>;
    handleDisconnect(socket: CustomSocket): Promise<void>;
    handleCreateConnection(socket: CustomSocket, body: CreateConnectionDto): Promise<void>;
    socket_booking_accepted(socket: CustomSocket, body: any): Promise<void>;
    handleLeaveConnection(socket: CustomSocket, body: CreateConnectionDto): Promise<void>;
    handleSendMessage(socket: CustomSocket, body: SendMessageDto): Promise<void>;
    handleGetAllMessage(socket: CustomSocket, body: GetMessageDto): Promise<void>;
    handleReadMessage(socket: CustomSocket, body: GetMessageDto): Promise<void>;
    handleUnreadMessage(socket: CustomSocket, body: GetMessageDto): Promise<void>;
    handlebookingdetail(socket: CustomSocket, body: findBookingListDto): Promise<void>;
    CurrentRideRequest(socket: CustomSocket): Promise<void>;
    WaitingChargeNoti(socket: CustomSocket, body: findBookingListDto): Promise<void>;
}
export {};
