import { MultimediaProps, ComponentNode } from '../types/canvas'; import { CanvasRetrieve } from '../../../../types/openapi'; import { CanvasThemeRetrieve } from '../../../types/canvasTheme'; export default function useCanvasNodes(): { nodeStateInitialize: (nodes: Record, updateFn: (nodeId: string, data: MultimediaProps) => void) => void; nodeStateUpdate: (componentNodesById: Record, activeCanvas: CanvasRetrieve | null) => void; nodeStateCleanup: () => void; updateMultimediaNodeWithThemeAsset: (nodeId: string, multimediaProps: MultimediaProps, directNodeUpdate?: { node: ComponentNode; section: CanvasRetrieve["sections"][number]; }, updateNodeDataById?: (id: string, data: MultimediaProps) => void, componentNodesById?: Record, activeCanvas?: CanvasRetrieve | null) => boolean; updateComponentsWithThemeAssets: (theme: CanvasThemeRetrieve, componentNodesById: Record, updateNodeDataById: (id: string, data: MultimediaProps) => void, activeCanvas: CanvasRetrieve | null) => number; processCanvasNodesForDisplay: (nodes: ComponentNode[]) => ComponentNode[]; findNodeInSection: (activeCanvas: CanvasRetrieve | null, sectionId: string, nodeId: string) => ComponentNode | null; updateNodeInSection: (activeCanvas: CanvasRetrieve | null, sectionId: string, nodeId: string, newData: ComponentNode["data"], setActiveCanvas: (canvas: CanvasRetrieve) => void) => boolean; };