/**
 * RecordBoard 顶栏工具栏：合并 booking 透视 toolBar、资源墙快筛注入、日程带与密度加载。
 */
import React from 'react';
import type { ReservationScheduleBandValue, TimeRangeOption, RecordBoardBodyView } from '@pisell/materials';
import type { PisellReservationTableRow } from '../types';
import type { PisellReservationProps } from '../types';
export interface UseReservationToolBarMergedParams {
    toolBarProp: PisellReservationProps['toolBar'];
    /** `bookingPerspective.getChildComponentProps` 产物中的 `toolBar` */
    bookingToolBar: Record<string, unknown> | undefined;
    isInternalListData: boolean;
    tables: PisellReservationTableRow[];
    schedule: ReservationScheduleBandValue;
    handleScheduleChange: (next: ReservationScheduleBandValue) => void;
    scheduleStartSlotProp: PisellReservationProps['scheduleStartSlot'];
    scheduleEndSlotProp: PisellReservationProps['scheduleEndSlot'];
    schedulePropsProp: PisellReservationProps['scheduleProps'];
    mergedTimeNavigatorProps: Record<string, unknown> & {
        range: TimeRangeOption;
        snapToStep: false;
        cursorMode: 'axis-moves' | 'cursor-moves';
    };
    followWallClock: boolean;
    onFollowWallClockToggle: () => void;
    onTimeNavigatorUserInteraction: () => void;
    calendarGranularity: 'resource' | 'day' | 'week' | 'month';
    setCalendarGranularity: React.Dispatch<React.SetStateAction<'resource' | 'day' | 'week' | 'month'>>;
    /** 打开新建预约（单路由直接跳转，多路由出弹窗） */
    onNewReservation: () => void;
    salesTimelineHighlights: number[] | null | undefined;
    floorDayBookingData: unknown[];
    data: unknown[];
    effectiveTimelineRange: TimeRangeOption;
    /** 与 RecordBoard 当前子视图同步（由 Core 的 shellBodyView 传入，勿在 RecordBoard 外读 context） */
    bodyView: RecordBoardBodyView;
    /** `variant==='phone'` 时由 Core 传入 */
    phoneLayout?: boolean;
}
export declare function useReservationToolBarMerged(p: UseReservationToolBarMergedParams): {
    toolBarMerged: RecordBoardToolBarProps;
};
