/**
 * 预约看板日历槽：视口合并、预约条渲染、锁台/改期、加载态与 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<string, unknown>) => Record<string, unknown>) => void;
        loading: boolean;
    };
    operatingDayBoundary: unknown;
    tables: PisellReservationTableRow[];
    openBookingDetailFromRaw: (args: {
        raw: Record<string, unknown>;
        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<React.SetStateAction<'resource' | 'day' | 'week' | 'month'>>;
}
export declare function useReservationCalendarSlot(p: UseReservationCalendarSlotParams): UseReservationCalendarSlotResult;
