import { LayoutedProjectEdge } from '@likec4/core/compute-view'; import { DiagramNode, ExclusiveUnion, ProjectId } from '@likec4/core/types'; import { ReactFlowInstance, ReactFlowState } from '@xyflow/react'; import { FunctionComponent } from 'react'; import { Simplify } from 'type-fest'; import { BaseEdge, BaseEdgeData, BaseEdgeProps, BaseNode, BaseNodeData, BaseNodeProps, NonOptional } from '../base/types'; export declare namespace ProjectsOverviewTypes { type ProjectNodeData = Simplify> & { projectId: ProjectId; }>; type ProjectNode = BaseNode; type AnyNode = ProjectNode; type NodeType = AnyNode['type']; type Node = Extract; type NodeProps = BaseNodeProps>; type NodeData = ExclusiveUnion<{ ProjectNodeData: ProjectNodeData; }>; type NodeRenderer = FunctionComponent>; type NodeRenderers = { [T in NodeType]: NodeRenderer; }; type EdgeData = Simplify>>; type Edge = BaseEdge; type EdgeProps = BaseEdgeProps; } export type ProjectsOverviewXYFLowInstance = ReactFlowInstance; export type ProjectsOverviewXYStoreState = ReactFlowState; export type ProjectsOverviewXYStoreApi = { getState: () => ProjectsOverviewXYStoreState; setState: (state: ProjectsOverviewXYStoreState) => void; };