import { OnGatewayConnection } from "@nestjs/websockets";
import { Server, Socket } from "socket.io";
import { TripsService } from "./v1/trips.service";
import { CreateTripTrackingDto } from "./dto/trip-tracking.dto";
import { AuthService } from "../auth/v1/auth.service";
import { CustomersService } from "../customers/v1/customers.service";
export declare class TripTrackingGateway implements OnGatewayConnection {
    private readonly tripService;
    private readonly authService;
    private readonly customerService;
    server: Server;
    constructor(tripService: TripsService, authService: AuthService, customerService: CustomersService);
    handleConnection(client: Socket): Promise<void>;
    handleUpdateLocation(data: CreateTripTrackingDto): Promise<{
        status: string;
        location: import("./entities/trip-tracking.entity").TripTracking | {
            success: boolean;
            code: number;
            message: string;
        };
    }>;
    handleJoinTrip(tripId: number, client: Socket): Promise<{
        status: string;
        message: string;
    }>;
    handleGetLatestLocation(tripId: number): Promise<{
        status: string;
        latest: number | import("./entities/trip-tracking.entity").TripTracking | import("./entities/trip-tracking.entity").TripTracking[] | import("../../common/interfaces/pagination-result.interface").PaginatedResult<import("./entities/trip-tracking.entity").TripTracking>;
    }>;
}
