/**
 * FloorMapToolbar - 编辑态左侧侧边栏：按分类添加图元、绑定数据源与行；保存可选（默认用顶栏）
 */
import React from 'react';
import type { FloorMapViewConfig, FloorMapDataSources, FloorMapMergedItem, FloorMapSceneElement, FloorMapPlaceMode } from '../types';
import { type FloorMapPaletteDragPayload } from '../utils/floorMapDropUtils';
import './FloorMapToolbar.less';
export type { FloorMapPlaceMode as PlaceMode };
export interface FloorMapToolbarProps {
    config: FloorMapViewConfig;
    dataSources: FloorMapDataSources;
    dataSourceLabels?: Record<string, string>;
    canCreate: boolean;
    placeMode: FloorMapPlaceMode;
    onPlaceModeChange: (mode: FloorMapPlaceMode) => void;
    renderPreviewItem?: (item: FloorMapMergedItem) => React.ReactNode;
    placementPreviewSize?: {
        width: number;
        height: number;
    };
    decorationPreviewSize?: number;
    sceneElements?: FloorMapSceneElement[];
    onSave?: () => void;
    saving?: boolean;
    saveError?: Error | string;
    /** 布局草稿已相对持久化配置变更，提示用户点击本栏「保存」 */
    layoutDirty?: boolean;
    className?: string;
    /** 触摸/笔：Pointer 拖拽落点（mouse 仍用 HTML5 DnD） */
    onPaletteCardPointerDown?: (payload: FloorMapPaletteDragPayload, e: React.PointerEvent<HTMLButtonElement>) => void;
    /** 触摸拖放结束后吞掉按钮 click，避免误触切换落点模式 */
    consumeToolbarClickIfTouchDrag?: () => boolean;
}
export declare function FloorMapToolbar(props: FloorMapToolbarProps): JSX.Element;
export default FloorMapToolbar;
