import { BookingService } from './booking.service';
import { UpdateBookingDto, AssignTransportItemDto, BulkAssignTransportItemDto } from './dto';
import { PaginationDto } from '../../common/dto/pagination.dto';
import { BookingStatus } from '../../entities/booking.entity';
export declare class BookingController {
    private readonly service;
    constructor(service: BookingService);
    findAll(query: PaginationDto, status?: string, destinationId?: string, dateFrom?: string, dateTo?: string): Promise<import("../../common/responses/api-response").ApiResponse<import("../../entities/booking.entity").BookingEntity[]>>;
    getTransportDates(destinationId: string): Promise<import("../../common/responses/api-response").ApiResponse<any[]>>;
    getMovementChart(destinationId: string, date: string): Promise<import("../../common/responses/api-response").ApiResponse<{
        summary: {
            total_ops: number;
            transfers: number;
            activities: number;
            active_drivers: number;
            completed: number;
            scheduled: number;
        };
        by_driver: any[];
        by_booking: any[];
        by_activity: any[];
    }>>;
    getDriverAssignments(destinationId: string, date: string, transportServiceId?: string): Promise<import("../../common/responses/api-response").ApiResponse<{
        summary: {
            routes: number;
            total_transfers: number;
            assigned: number;
            pending: number;
            total_pax: any;
        };
        groups: any[];
    }>>;
    bulkAssign(dto: BulkAssignTransportItemDto): Promise<import("../../common/responses/api-response").ApiResponse<{
        count: number;
        message: string;
    }>>;
    assignTransportItem(id: string, dto: AssignTransportItemDto): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        message: string;
    }>>;
    findById(id: string): Promise<import("../../common/responses/api-response").ApiResponse<import("../../entities/booking.entity").BookingEntity>>;
    createFromQuery(queryId: string): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        booking_number: string;
        message: string;
    }>>;
    update(id: string, dto: UpdateBookingDto): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        message: string;
    }>>;
    changeStatus(id: string, status: BookingStatus): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        status: BookingStatus;
        message: string;
    }>>;
    remove(id: string): Promise<import("../../common/responses/api-response").ApiResponse<{
        message: string;
    }>>;
}
