/**
 * 内置图形图元（`floorMapBuiltinShape`）的预设清单。
 *
 * 每个预设：
 * - `key`：持久化在 `sceneElement.builtinShapeKey`，跨语言稳定；
 * - `labelKey`：展示名 i18n key（在 `locales.ts` / `-ja` / `-pt` 中维护）；
 * - `defaultSize`：调色板落点 / 切换 kind 时的初始像素尺寸，比例与下文 viewBox 一致；
 * - `render(props)`：内置 SVG 图形（统一 `preserveAspectRatio="xMidYMid meet"`，
 *   按 viewBox 自然比例缩放并居中，容器尺寸变化时不会被拉伸变形）。
 *
 * 不引入图片资源 / 字体图标，全部 inline SVG，避免额外构建依赖与请求。
 */
import React from 'react';
/** 内置图形渲染函数共享 props（容器已限定 100% 宽高） */
export interface FloorMapBuiltinShapeRenderProps {
    /** 主体填充色（壳层为浅灰），允许通过 sceneElement.fillColor 覆盖 */
    fillColor?: string;
    /** 描边色，允许通过 sceneElement.strokeColor 覆盖 */
    strokeColor?: string;
}
export interface FloorMapBuiltinShapeDef {
    key: string;
    /** i18n 文案 key（在 locales.ts 中维护中英繁日葡） */
    labelKey: string;
    /** 调色板落点时的默认像素尺寸；比例与 viewBox 对齐，避免落点后立刻变形 */
    defaultSize: {
        width: number;
        height: number;
    };
    /** 内置 SVG 渲染（按 viewBox 比例缩放，容器变化时居中保比例） */
    render: (props: FloorMapBuiltinShapeRenderProps) => React.ReactElement;
    /**
     * 是否随容器宽高自动切换横/竖方向。
     * - `true`：容器高 > 宽时，wrapper 自动给整张图形 rotate 90deg，让图形在画
     *   布上看起来始终「贴墙 / 贴边」。比追加一个 `*-vertical` key 更直观，
     *   也不需要持久化方向，纯几何 fit。
     * - 默认 `false`（厕所 / 柱子 / 分隔等无方向语义或自带 stretch 策略的图形）。
     */
    orientationAware?: boolean;
}
/** 默认主色 / 描边色：偏中性灰，与地面其它图元（房间 / 桌位）调性一致 */
declare const DEFAULT_FILL = "#f1f3f5";
declare const DEFAULT_STROKE = "#6b7280";
/**
 * 内置图形预设清单（顺序即调色板 / 编辑面板下拉的展示顺序）。
 * `defaultSize` 比例严格跟随对应 SVG 的 viewBox：
 * - 厕所 / 柱子 / 大门：正方形（viewBox 100×100）
 * - 分隔：viewBox 100×100，但渲染层用 `preserveAspectRatio="none"`，
 *   `defaultSize` 给个常用的瘦高比例（32×160）作为「默认竖分隔」落点，
 *   用户可直接拖宽变横分隔，不需要换 key。
 * - 沙发：2:1 水平（viewBox 200×100）
 *
 * 新增预设：在此追加一项即可，编辑面板 / 调色板 / fallback 渲染会自动适配。
 */
export declare const FLOOR_MAP_BUILTIN_SHAPES: FloorMapBuiltinShapeDef[];
/** 通过 key 查找预设，未命中返回 undefined（让上层显示「未选择」占位） */
export declare function getFloorMapBuiltinShapeDef(key: string | undefined): FloorMapBuiltinShapeDef | undefined;
export { DEFAULT_FILL as FLOOR_MAP_BUILTIN_SHAPE_DEFAULT_FILL };
export { DEFAULT_STROKE as FLOOR_MAP_BUILTIN_SHAPE_DEFAULT_STROKE };
