/**
 * 平面图绑定桌 RoomCard 数据结构（对齐 demo/card mock，供展示与 getCardType）
 */
export declare type FloorRoomCardHolder = {
    name: string;
    phone?: string;
};
/** 宿主单条 booking.status，用于多条列表时区分占用/预留肤（与行级聚合 status 解耦） */
export declare type FloorRoomCardHostBookingStatus = 'reserved' | 'occupied' | 'locked' | 'empty';
export declare type FloorRoomCardBooking = {
    booking_id: string;
    /**
     * 宿主 `floorMapSourceBookings` 行 `id`；同一订单多时段时多条可共用 `booking_id`，
     * 点击命中与 DOM 需用此行级 id 区分。
     */
    recordId?: string;
    start_date: string;
    start_time: string;
    end_date: string;
    end_time: string;
    number: number;
    holder?: FloorRoomCardHolder;
    amount: string | number;
    /** 来自宿主 `booking.status`（小写）；多条 occupied 时参与 multi_occupied，纯预留多条则排序后主卡+Next */
    hostBookingStatus?: FloorRoomCardHostBookingStatus;
    /** 宿主：迟到时长（分钟）；有值才展示「迟到 +Xm」，前端不按开始时间推算 */
    lateTime?: number;
    /** 宿主：超时时长（分钟）；有值才展示「+Xm」，前端不按结束时间推算 */
    timeoutTime?: number;
    /** 宿主：进行中进度 0–100（100 为满条），优先于起止时间推算 */
    progressPercent?: number;
    /**
     * 宿主：距预约开始剩余分钟（`remainingReserveTime`），预留 not_arrived 时用于「还有 n 分钟」展示，优先于本地起止时间推算
     */
    remainingReserveTime?: number;
    /**
     * 宿主订单支付状态（来源：接口 `booking.order.payment_status` 等，映射到模型）。
     * - `paid`：已付（绿）
     * - 其它（含宿主曾返回的 `partially_paid`）：按需付款展示（红）；映射层应写入 `unpaid`
     * - 未设：按需付款展示
     */
    order_payment_status?: string;
    /**
     * 订单商品件数：`products` 有效行数优先，否则 `order.summary.product_quantity`；无则 0。
     */
    product_quantity?: number;
    /** 接口 `is_next` / `isNext`：为 true 时仅展示在 Next 行，不参与主档/多条约预览主列表 */
    isNext?: boolean;
};
export declare type FloorRoomCardRoomStatus = 'empty' | 'reserved' | 'occupied' | 'locked';
/** 细分态：与 demo `CARD_CLASS` / `getCardType` 一致 */
export declare type FloorRoomCardSubStatus = 'not_arrived' | 'late' | 'payed' | 'payment_required' | 'timeout' | '';
export declare type FloorRoomCardData = {
    main_field: string;
    capacity: number | string;
    status: FloorRoomCardRoomStatus;
    sub_status: FloorRoomCardSubStatus;
    bookings: FloorRoomCardBooking[];
};
