import React from 'react'; import type { FloorMapDataSources, FloorMapMergedItem, FloorMapViewportOverlayRenderArgs } from '@pisell/materials'; /** floorDayBooking 请求 hook 返回值(仅抽屉打开快照用 searchParams) */ declare type FloorDayBookingDataLike = { searchParams: unknown; data: unknown; loading: boolean; }; export interface UseReservationHudDrawerParams { floorMapHudTableDrawer: boolean; dataSources: FloorMapDataSources; gridDataSourceKey: string; isInternalListData: boolean; floorDayBookingData: FloorDayBookingDataLike; searchParamsProp: Record | undefined; dataProp: unknown[] | null | undefined; loadingProp: boolean | undefined; bookingChildProps: Record; resourceBoardData: { data: unknown; }; /** 手机布局:画布 HUD 统计横向排列 */ phoneLayout?: boolean; /** 手机 + 编辑态:隐藏视口左上角/锚点处的桌位统计悬浮(仍同步 items 供场控逻辑) */ hideViewportHudStats?: boolean; } /** * 平面图 HUD 抽屉:视口 items 同步、本地列表分页与筛参、展开/收起、ESC、内嵌 RecordBoard toolbar 覆写。 */ export declare function useReservationHudDrawer({ floorMapHudTableDrawer, dataSources, gridDataSourceKey, isInternalListData, floorDayBookingData, searchParamsProp, dataProp, loadingProp, bookingChildProps, resourceBoardData, phoneLayout, hideViewportHudStats, }: UseReservationHudDrawerParams): { hudItemsRef: React.MutableRefObject; hudMapItems: FloorMapMergedItem[]; setHudMapItems: React.Dispatch>; hudDrawerRef: React.MutableRefObject; hudDrawerOpen: boolean; showVenueHudDock: boolean; handleOpenHudTableDrawer: () => void; closeHudTableDrawer: () => void; hudDrawerResourceRootBuckets: import("../components/BucketButtonGroup").BucketDef[]; hudDrawerPagedRows: Record[]; hudDrawerFilteredTotal: number; hudDrawerLoading: boolean; hudDrawerBookingPagination: { pageNumber: number; pageSize: number; }; hudDrawerOnSearch: (params: Record) => void; hudDrawerOnReset: () => void; hudDrawerOnPageChange: (pageNumber: number, pageSize: number) => void; hudDrawerToolBar: { [x: string]: unknown; }; hudDrawerLocalSearchParams: Record; handleHudDrawerFormRecordIdsChange: (formRecordIds: string[]) => void; reservationFloorMapViewportOverlay: (args: FloorMapViewportOverlayRenderArgs) => React.JSX.Element | null; renderItemByKind: { floorMapImage: (item: import("@pisell/materials").FloorMapItemBase, _index: number, _options?: import("@pisell/materials").FloorMapRenderOptions | undefined) => React.ReactNode; floorMapBuiltinShape: (item: import("@pisell/materials").FloorMapItemBase, _index: number, _options?: import("@pisell/materials").FloorMapRenderOptions | undefined) => React.ReactNode; reservationBoundTable: (item: import("@pisell/materials").FloorMapItemBase, _index: number, options?: import("@pisell/materials").FloorMapRenderOptions | undefined) => React.ReactNode; reservationBoundRoundTable: (item: import("@pisell/materials").FloorMapItemBase, _index: number, options?: import("@pisell/materials").FloorMapRenderOptions | undefined) => React.ReactNode; reservationTable: (item: import("@pisell/materials").FloorMapItemBase, _index: number, options?: import("@pisell/materials").FloorMapRenderOptions | undefined) => React.ReactNode; reservationPartyBench: (item: import("@pisell/materials").FloorMapItemBase, _index: number, options?: import("@pisell/materials").FloorMapRenderOptions | undefined) => React.ReactNode; reservationBarSeat: (item: import("@pisell/materials").FloorMapItemBase, _index: number, options?: import("@pisell/materials").FloorMapRenderOptions | undefined) => React.ReactNode; }; }; export {};