/** * 预约页与 RecordBoard 共用的纯函数:内置列表判定、筛参合并、按营业日改 booking 窗口、持久化 bodyView 读取。 */ import { type Dayjs } from 'dayjs'; import type { RecordBoardBodyView, RecordBoardProps } from '@pisell/materials'; import type { TimeRangeOption } from '@pisell/materials'; /** * 是否使用内置预约/资源请求: * - 未传 `data` / `null`; * - 或低代码只绑了空数组作占位,且未同时受控 total / onPageChange。 * (仅有 pagination 占位而无 onPageChange 时仍走内置,否则会永不请求列表。) */ export declare function shouldUseBuiltinReservationList(dataProp: unknown[] | null | undefined, totalProp: number | undefined, paginationProp: RecordBoardProps['pagination'] | undefined, onPageChangeProp: RecordBoardProps['onPageChange'] | undefined): boolean; /** * 表格筛选若未带支付态默认值,接口可能返回空;与 QuickFilter/高级筛选项合并时保留 monitor 默认。 */ export declare function mergeGridBookingSearchParams(params: Record | undefined): Record; /** 列表请求:平面图 / 资源墙 / 非日历视图下,按顶栏日程与时间轴营业窗更新 booking_time_start_between */ export declare function mergeSearchParamsBookingWindow(prev: Record, anchorDay: Dayjs, operatingDayBoundary?: unknown, timelineRange?: TimeRangeOption, wallClock?: Dayjs): Record; /** * 清理仅在日历周/月视图下设置的请求 flag: * - `compact_fields`:为 true 时,osServer 远端 SSE 走精简 with,不返回 booking.resources; * - `enable_remote_memory_cache`:开启后 osServer 会写入 `bookingRemoteCache`,Ably 推送时按 compact with 同步。 * * 切回平面图 / 资源墙 / 表格时必须先清掉,否则非今日锚定下平面图会拿到无 resources 的 booking, * 导致按桌合并全部落空、画布空白。 */ export declare function stripCalendarOnlyFlags(prev: Record): Record; /** 日历导航:按视口自然日范围扩展 `booking_time_start_between` */ export declare function mergeSearchParamsBookingRange(prev: Record, rangeStart: Date, rangeEnd: Date, operatingDayBoundary?: unknown): Record; /** * 按任意 key 读取表格/平面图偏好(与 PisellRecordBoard 内 read 规则一致)。 */ export declare function readBodyViewFromStorageKey(key: string | undefined): RecordBoardBodyView; /** * 预约页默认持久化 key:有合法 localStorage 则用,否则平面图。 */ export declare function readPersistedReservationBodyView(): RecordBoardBodyView;