import { FloorMapSceneElement } from "../types.js";
import { ShopFloorPlanLayoutItem } from "./shopFloorPlanTypes.js";

//#region src/components/pisellFloorMapLayout/shopFloorPlan/shopFloorPlanMapping.d.ts
/**
 * 将场景图元转为后端 layout 项（多画布时通常摊平到同一 layout）。
 */
declare function sceneElementsToShopLayout(sceneElements: FloorMapSceneElement[]): ShopFloorPlanLayoutItem[];
type ShopLayoutToSceneOptions = {
  canvasId: string;
  dataSourceKey: string; /** 后端 `type: rect` 映射到的 {@link FloorMapSceneElement.elementKind} */
  rectElementKind: string; /** 后端 `type: circle` 映射到的 elementKind */
  circleElementKind: string;
};
/**
 * 将扁平 layout 数组转为 `sceneElements`；图元种类由调用方传入（预约场景可传 boundTable / boundRoundTable 等）。
 */
declare function shopLayoutToSceneElements(layout: ShopFloorPlanLayoutItem[], options: ShopLayoutToSceneOptions): FloorMapSceneElement[];
//#endregion
export { sceneElementsToShopLayout, shopLayoutToSceneElements };