/**
 * EditableItemLayer - 编辑态图元层：拖拽、缩放、选中、吸附
 */
import React, { type CSSProperties } from 'react';
import type { FloorMapItemBase, FloorMapMergedItem, FloorMapRenderOptions } from '../types';
import { type FloorMapEditQuickActionLabels } from './FloorMapEditQuickActions';
import './EditableItemLayer.less';
export interface EditableItemLayerProps<T extends FloorMapItemBase = FloorMapMergedItem> {
    items: T[];
    renderItem: (item: T, index: number, options?: FloorMapRenderOptions) => React.ReactNode;
    rowKey?: string | ((item: T, index: number) => string);
    cellSize: number;
    itemUnit?: 'cell' | 'pixel';
    itemGap?: number;
    contentWidth: number;
    contentHeight: number;
    /** 内容区 X/Y 偏移（画布包围盒向左/上扩展时，图元层整体平移） */
    contentOffsetX?: number;
    contentOffsetY?: number;
    selectedId: string | null;
    onSelect: (id: string | null) => void;
    onUpdateItem: (itemId: string, patch: Partial<{
        x: number;
        y: number;
        width: number;
        height: number;
    }>) => void;
    snapStep?: number;
    /** 画布当前缩放，用于将屏幕位移转为内容位移 */
    scale?: number;
    /** 拖拽/缩放图元时通知父组件，用于禁用画布平移，避免松手时画布跟着动 */
    onInteractionChange?: (active: boolean) => void;
    /** 每项外层容器额外样式（与定位样式合并） */
    getMergedItemWrapperStyle?: (item: T, index: number) => CSSProperties | undefined;
    className?: string;
    /** 编辑态选中时图元旁快捷栏（上锁 / 复制 / 删除） */
    editQuickBar?: {
        labels: FloorMapEditQuickActionLabels;
        isLocked: boolean;
        onToggleLock: () => void;
        onDuplicate: () => void;
        onDelete: () => void;
    } | null;
}
export declare function EditableItemLayer<T extends FloorMapItemBase>(props: EditableItemLayerProps<T>): React.JSX.Element;
export default EditableItemLayer;
