import type { PisellReservationTableRow } from '../types'; /** * GET schedule/booking 行是否不参与「按桌合并 / 日历条」。 * - 仅排除明确空闲态 `empty` 及非预约三态。 * - **空 status**:部分列表不写 `status`,仅用日期+资源表示有效预约;若按旧逻辑跳过会导致平面图/日历都无条。 */ export declare function isMonitorScheduleBookingSkipped(record: Record): boolean; /** * 预约项上所有资源 form_record id(GET schedule/booking 多为 `resources`,旧结构为 `event_resources`)。 * 多资源时同一预约会写入多个 id,合并阶段每张桌只拿命中本桌 id 的分组。 */ export declare function extractResourceRecordIds(booking: Record): string[]; /** * 按画布已绑定资源 id 过滤 Monitor 用的 booking 列表行(与 {@link extractResourceRecordIds} 对齐)。 * `resourceIds` 为空时返回空数组。 */ export declare function filterBookingsByResourceIds>(bookings: T[] | undefined, resourceIds: Set): T[]; /** * 预约项联系人简称(与图元 / 详情弹窗 / {@link resolveFloorRoomCardHolder} 一致,仅取展示用姓名)。 */ export declare function customerBrief(record: Record): string; /** 单条预约上的日历日,用于平面图卡片进度与合成字段 */ export declare function bookingReferenceDay(booking: Record): string | undefined; /** 预约行开始时刻 → `HH:mm`(资源墙 / 卡片等共用) */ export declare function formatBookingTime(record: Record): string; /** 与按桌合并 {@link mergeResourceGroup} 一致:按开始时间升序 */ export declare function sortBookingsByStartTime(bookings: Record[]): Record[]; /** 宿主 booking.status:empty / 缺省 → 空闲;reserved / occupied / locked → 对应卡片大类 */ export declare function hostBookingStatusToCardStatus(record: Record): PisellReservationTableRow['cardStatus']; /** 从单条宿主 booking 摘 `reserved_status` / `isTimeout` 信号,供行合并与图元映射 */ export declare function hostBookingUiPatchFromRecord(booking: Record): Pick; /** * 无 `bookings[]` 命中时,用资源壳上的 `status` / `reserved_status` / `isTimeout` 覆盖底行(嵌套 OS 列表等)。 */ export declare function applyHostResourceShellToBaseRow(base: PisellReservationTableRow, shell: Record): PisellReservationTableRow; /** * 宿主已按桌聚合的 `bookings`(如同一张 resource 下的多条预约)→ 单行 {@link PisellReservationTableRow}, * 与 {@link mergeResourceRowsWithBookingRows} 的资源底行合并即可得到平面图 tables 项。 */ export declare function mergeBookingsForResourceRecord(recordId: string, bookings: unknown[]): PisellReservationTableRow | null; /** * 由预约列表构造桌位数据源(整列表,与当前表格页数据一致)。 */ export declare function bookingListToReservationTableRows(bookings: unknown[]): PisellReservationTableRow[];