/** * 组装 PisellFloorMapLayout props(含 floor-plan 持久化 onSave) */ import React from 'react'; import type { FloorMapDataSources, FloorMapViewConfig, PisellFloorMapLayoutProps } from '@pisell/materials'; import type { TopologyDeviceRow } from '../TopologyDeviceCard'; import type { PisellFloorMapLayoutRef } from '@pisell/materials'; export interface UseTopologyFloorMapMergedParams { baseFloorConfig: FloorMapViewConfig; dataSources: FloorMapDataSources; devices: TopologyDeviceRow[]; mode: 'read' | 'edit'; mapEditInternal: boolean; setMapEditInternal: React.Dispatch>; floorMapLayoutRef: React.RefObject; /** 低代码 props.mode === 'edit' */ forceEditFromProps?: boolean; resolvedFloorPlanId: number | null; floorPlanRemoteId: number | null; effectiveFloorPlanCode: string; floorPlanCanvasWidth?: number; floorPlanCanvasHeight?: number; floorPlanName?: Record; floorPlanSort?: number; floorPlanStatus?: number; onFloorPlanPersisted?: () => void; putFloorPlan?: (id: number, body: Record) => Promise; prevOnSave?: (config: FloorMapViewConfig) => void; overviewHud?: React.ReactNode | false; setRemoteFloorPlanView: React.Dispatch | null>>; className?: string; style?: React.CSSProperties; } export declare function useTopologyFloorMapMerged(params: UseTopologyFloorMapMergedParams): PisellFloorMapLayoutProps;