import { PricingStrategy, MarkupType } from '../../../entities/query-quote.entity';
import { HotelPeriodDto, HotelExtraDto } from '../../../common/dto/hotel-per-night.dto';
declare abstract class TaxSnapshotFieldsDto {
    tax_breakdown?: Record<string, Record<string, number>> | null;
    tax_amount?: number | null;
    refresh_tax?: boolean;
}
export declare class UpdateBookingHotelItemDto extends TaxSnapshotFieldsDto {
    hotel_id: string;
    check_in_date: string;
    check_out_date: string;
    nights: number;
    subtotal?: number;
    notes?: string;
    periods?: HotelPeriodDto[];
    extras?: HotelExtraDto[];
}
export declare class UpdateBookingTransportItemDto extends TaxSnapshotFieldsDto {
    transport_service_id: string;
    vehicle_type_id?: string | null;
    quantity?: number;
    adults_override?: number | null;
    children_override?: number | null;
    unit_price?: number;
    subtotal?: number;
    date?: string;
    sort_order?: number;
    notes?: string;
    supplier_id?: string;
    driver_id?: string;
    vehicle_id?: string;
    supplier_name_text?: string | null;
    driver_name_text?: string | null;
    driver_phone_text?: string | null;
    vehicle_no_text?: string | null;
    pickup_time?: string;
    dropoff_time?: string;
    return_pickup_time?: string;
    pickup_address?: string;
    dropoff_address?: string;
    assignment_status?: string;
    is_shared?: boolean;
    sync_driver_to_masters?: boolean;
    linked_activity_id?: string;
    linked_activity_link_key?: string;
}
export declare class UpdateBookingActivityItemDto extends TaxSnapshotFieldsDto {
    activity_id: string;
    ticket_id?: string;
    age_group: string;
    quantity?: number;
    unit_price?: number;
    subtotal?: number;
    date?: string;
    sort_order?: number;
    notes?: string;
    supplier_id?: string;
    supplier_name_text?: string | null;
    supplier_phone_text?: string | null;
    slot?: string;
    assignment_status?: string;
    link_key?: string;
}
export declare class UpdateBookingSpecialItemDto extends TaxSnapshotFieldsDto {
    service_name: string;
    total_price: number;
    date?: string;
    sort_order?: number;
    comments?: string;
}
export declare class UpdateBookingFlightDetailDto {
    transport_item_id?: string | null;
    direction?: string | null;
    flight_number: string;
    airline?: string | null;
    origin_airport?: string | null;
    destination_airport?: string | null;
    departure_time?: string | null;
    arrival_time?: string | null;
    terminal?: string | null;
    gate?: string | null;
    pnr?: string | null;
    notes?: string | null;
}
export declare class UpdateBookingDto {
    guest_name?: string;
    guest_mobile?: string;
    guest_email?: string;
    guest_alt_phone?: string;
    start_date?: string;
    end_date?: string;
    adults?: number;
    children_ages?: number[];
    infants?: number;
    notes?: string;
    status?: string;
    sales_team?: string[];
    source_id?: string;
    source_tags?: string[];
    remark_tags?: string[];
    selling_currency_id?: string;
    exchange_rate?: number;
    selling_total?: number;
    pricing_strategy?: PricingStrategy;
    markup_type?: MarkupType;
    markup_amount?: number;
    hotel_markup?: number;
    transport_markup?: number;
    activity_markup?: number;
    special_markup?: number;
    rounding?: number;
    transport_excluded_pax?: number;
    internal_comments?: string;
    customer_remarks?: string;
    tax_slab_id?: string | null;
    tax_inclusive?: boolean;
    hotel_items?: UpdateBookingHotelItemDto[];
    transport_items?: UpdateBookingTransportItemDto[];
    activity_items?: UpdateBookingActivityItemDto[];
    special_items?: UpdateBookingSpecialItemDto[];
    flight_details?: UpdateBookingFlightDetailDto[];
}
export {};
