import { type Dayjs } from 'dayjs'; import type { TimeRangeOption } from '@pisell/materials'; /** * 与顶栏 PisellTimeNavigator / 平面图列表请求共用 {@link bookingTimeWindowForReservationView}。 * 用于 `getTimelineHighlights(列表, startStr, endStr)` 与宿主对齐。 */ export declare function reservationTimelineRangeStrings(scheduleDate: Dayjs, range?: TimeRangeOption, operatingDayBoundary?: unknown, wallClock?: Dayjs): { startStr: string; endStr: string; }; /** * 解析宿主 `sales.getTimelineHighlights` 返回值:数字序列(如 [0,0,1,1,2,…]),用于时间轴折线。 * 支持数组、类数组(含 TypedArray)、可迭代对象。 */ export declare function normalizeSalesTimelineHighlightsRaw(raw: unknown): number[] | null; /** * 将宿主返回的密度序列裁剪/补零到与当前时间轴格数一致(与 PisellTimeNavigator 内 `axis.ticks` 长度对齐)。 */ export declare function fitTimelineHighlightsToSlotCount(series: number[], slotCount: number): number[]; /** 预约页时间轴在指定锚定日、步长下的横向格数(与 TimeNavigator + 营业 range 一致) */ export declare function reservationTimelineAxisSlotCount(referenceDate: Dayjs, stepMinutes: number, range?: TimeRangeOption): number; /** * 时间轴密度层:按 referenceDate 所在自然日统计预约开始时刻落入的槽位。 */ export declare function computeReservationDensityBuckets(densityRows: Record[], referenceDate: Dayjs, stepMinutes: number): number[];