/** * 预约看板日历槽:视口合并、预约条渲染、锁台/改期、加载态与 RecordBoard 日历 props。 */ import React from 'react'; import type { RecordBoardCalendarBookingLike, RecordBoardCalendarProps, RecordBoardCalendarResource, ReservationScheduleBandValue, TimeRangeOption } from '@pisell/materials'; import type { SalesGridRuntimeContext } from '../../pisellSalesGrid/types'; import type { PisellReservationTableRow } from '../types'; export interface UseReservationCalendarSlotParams { isInternalListData: boolean; floorDayBookingData: { patchSearchParams: (fn: (prev: Record) => Record) => void; loading: boolean; }; operatingDayBoundary: unknown; tables: PisellReservationTableRow[]; openBookingDetailFromRaw: (args: { raw: Record; row: PisellReservationTableRow | undefined; }) => void; schedule: ReservationScheduleBandValue; handleScheduleChange: (next: ReservationScheduleBandValue) => void; calendarResources: RecordBoardCalendarResource[]; calendarBookings: RecordBoardCalendarBookingLike[]; effectiveTimelineRange: TimeRangeOption; runtimeContext: SalesGridRuntimeContext; } export interface UseReservationCalendarSlotResult { reservationCalendarSlotProps: RecordBoardCalendarProps; calendarGranularity: 'resource' | 'day' | 'week' | 'month'; setCalendarGranularity: React.Dispatch>; } export declare function useReservationCalendarSlot(p: UseReservationCalendarSlotParams): UseReservationCalendarSlotResult;