import { Socket, Server } from "socket.io";
import { CommonService } from 'src/common/common.service';
import { ModelsService } from 'src/models/models.service';
import { ChatAuthGuard } from 'src/auth/auth.guard';
interface CustomSocket extends Socket {
    user_data: any;
}
export declare class TripsGateway {
    private readonly chatAuthService;
    private readonly common;
    private readonly model;
    private projection;
    private lean_options;
    private new_options;
    server: Server;
    constructor(chatAuthService: ChatAuthGuard, common: CommonService, model: ModelsService);
    handleConnection(socket: Socket): Promise<void>;
    joinTripDetail(socket: CustomSocket, payload: {
        trip_id: string;
    }): Promise<void>;
    leaveTripDetail(socket: CustomSocket, payload: {
        trip_id: string;
    }): Promise<void>;
    handleDisconnect(socket: Socket): Promise<void>;
}
export {};
