import { type MutableRefObject } from 'react'; import { type Dayjs } from 'dayjs'; import type { ReservationScheduleBandValue } from '@pisell/materials'; import type { TimeRangeOption } from '@pisell/materials'; import type { PisellReservationProps } from '../types'; declare type PisellOSLike = { getModule?: (name: string) => unknown; } | null | undefined; /** * 内置列表且资源台 + floorDayBooking 均就绪后,向宿主 sales 拉两套数据: * - `getResourceBookingList`:游标时刻下的预约子集,参与合并进平面图 dataSources; * - `getTimelineHighlights`:时间轴密度折线(无则退回 PisellReservation 内本地计算)。 * * **跟随当前**:`followWallClock === true` 时第三个参数 `currentTimeStr` 与 `timeStr` 相同(均来自 `debouncedSchedule.at`), * 避免与墙钟 `dayjs()` 差一分钟;手动关闭跟随后仍传实时 `dayjs()`,保留「游标 vs 此刻」双通道语义。 */ export declare function useReservationSalesHostData(options: { isInternalListData: boolean; pisellosRef: MutableRefObject; hasPisellosGetModule: boolean; debouncedSchedule: ReservationScheduleBandValue; /** 顶栏「跟随当前时间」:为 true 时 `getResourceBookingList` 的 currentTime 与 timeStr 一致 */ followWallClock: boolean; resourceBoardLoading: boolean; floorDayBookingLoading: boolean; floorDayBookingData: unknown[]; /** * `usePisellReservationBookingData` 在每次 WS 推送 mutate 后递增的版本号。 * 加进 effect deps 是为了兜底 `floorDayBookingDepKey` cheap hash 漏判的字段 * (如 customer / notes / relation_id 换桌等):只要有推送到达,就一定刷新 * 宿主 sales 列表,避免画布在 push 之后看上去不更新。 */ floorDayBookingDataVersion: number; scheduleDate: Dayjs; timeNavigatorPropsProp?: PisellReservationProps['timeNavigatorProps']; /** 与顶栏 TimeNavigator、日历日列对齐的营业区间(已含 props 覆盖与 core 回退) */ timelineRange: TimeRangeOption; /** 与列表 `booking_time_start_between`、时间轴 `referenceDate` 的 `end_time` 锚定一致 */ operatingDayBoundary?: unknown; }): { salesResourceBookings: unknown[] | null; salesTimelineHighlights: number[] | null; }; export {};