import { type FloorMapElementKindCategory, type FloorMapElementKindConfig, type FloorMapSceneElement, type FloorMapViewConfig } from '@pisell/materials'; import type { PisellReservationTableRow } from '../types'; /** * 父级/接口 elementKinds 与预约默认合并: * - 去掉与 Story 图片图元重复的旧版种类; * - 远程若已有 `floorMapImage` 也先去掉,统一用 defaults 里那份(避免两套「图片底图」并存)。 * - 对**同一 value**:用 `{ ...default, ...remote }` 合并,避免远程 JSON 只存了精简字段时 * 把预约默认里的 `nameAsTitleConfigurable` 等能力位整段丢掉(否则编辑面板不显示「图元名作为标题」勾选)。 */ export declare function mergeFloorMapElementKindsWithDefaults(defaults: FloorMapElementKindConfig[], remote: FloorMapElementKindConfig[] | undefined): FloorMapElementKindConfig[]; /** 同上,补全图元分类(如「装饰」),避免调色板分组缺失 */ export declare function mergeFloorMapElementKindCategoriesWithDefaults(defaults: FloorMapElementKindCategory[], remote: FloorMapElementKindCategory[] | undefined): FloorMapElementKindCategory[]; /** * 按当前 {@link locales} 刷新调色板分组、图元展示名(装饰 / 资源绑定等)。 * 持久化里若仍使用约定 `categoryId`:`background`、`dining` 与约定 kind value,会覆盖旧快照文案以便随引擎语言切换。 */ export declare function applyReservationFloorMapLiveLabels(config: FloorMapViewConfig): FloorMapViewConfig; /** * 预约平面图「绑定桌位」唯一图元 value(与底图 `floorMapImage` 并存)。 * 旧版方桌 / 长条 / 吧台图元仍可从接口 scene 回显,渲染走同一套房间卡片。 */ export declare const RESERVATION_BOUND_TABLE_ELEMENT_KIND: "reservationBoundTable"; /** 绑定圆桌位:与方桌同一数据源与卡片逻辑,默认 `shape: circle` */ export declare const RESERVATION_BOUND_ROUND_TABLE_ELEMENT_KIND: "reservationBoundRoundTable"; /** 与设计稿一致的预约桌位 mock(表格 + 平面图同源) */ export declare const defaultReservationTableRows: PisellReservationTableRow[]; /** * 默认平面图图元(唯一真相源)。 * 有 floorMapConfig 时 PisellFloorMapLayout 强制 itemUnit=pixel,故 x/y/width/height 均为「像素」,非格子数。 */ export declare const defaultReservationSceneElements: FloorMapSceneElement[]; /** 由 sceneElements 派生的落位摘要(数值与 sceneElements 一致,均为像素;兼容旧引用) */ export declare const reservationDataSourcePlacements: { dataSourceKey: string; id: string; floorMapId: string; x: number; y: number; name: string; width: number; height: number; elementKind: string; shape?: "circle" | undefined; }[]; /** * 将落位表转为 sceneElements(外部自定义 placements 时用)。 * 与 RecordBoard 平面图一致时,x/y/width/height 应为像素(floorMap 视图下 itemUnit 为 pixel)。 */ export declare function reservationPlacementsToSceneElements(placements: Array<{ dataSourceKey: string; id: string; floorMapId: string; x: number; y: number; name: string; width: number; height: number; elementKind: string; shape?: 'circle'; }>): FloorMapSceneElement[]; export declare type ReservationFloorMapConfigPersisted = FloorMapViewConfig; /** * 预约页默认平面图壳子:画布/图元种类与 mock 一致,但不带演示 sceneElements。 * 生产态布局以 floor-plan 接口与编辑保存为准。 */ export declare function getReservationFloorMapShellConfig(): ReservationFloorMapConfigPersisted; /** 平面图初始配置:sceneElements 使用上方完整 width/height,勿仅依赖派生表 */ export declare function getDefaultReservationFloorMapConfig(): ReservationFloorMapConfigPersisted; /** 平面图侧栏数据源记录表单列(随当前语言刷新) */ export declare function getReservationDataSourceFormColumns(): ({ key: string; label: any; type: "string"; } | { key: string; label: any; type: "number"; })[];