import { Vector } from "../../common/entities/Core/Vector"; import { ContentType, MindNode } from './MindNode'; import { Element } from "../../common/entities/Dom/Element"; import { Line } from "../../common/entities/Shapes/Line"; import { AlignOptions } from "../algorithm/Alignment"; import { BaseStyleOptions, BaseDragOptions, BaseZoomOptions, BaseVisualizerOptions, BaseEntityDestroyedEvent, BaseLayoutUpdatedEvent, BaseVisualizerEventMap, InputDataType as BaseInputDataType, BaseRawTreeNodeData, BaseRawFlatNodeData } from '../../diagram/Base2DVisualizerTypes'; import { Base2DVisualizer } from '../../diagram/Base2DVisualizer'; export interface TreeNode extends BaseRawTreeNodeData { id?: string; position?: { x: number; y: number; } | Vector; size?: { x: number; y: number; } | Vector; children?: TreeNode[]; content?: ContentType; [key: string]: any; } export interface FlatNode extends BaseRawFlatNodeData { id?: string; parentId?: string; position?: { x: number; y: number; } | Vector; size?: { x: number; y: number; } | Vector; content?: ContentType; [key: string]: any; } export interface MindMapStyle extends BaseStyleOptions { lineWidth?: number; lineColor?: string; nodeBorderWidth?: number; nodeBgColor?: string; nodeBorderColor?: string; } export interface MindMapDragOptions extends BaseDragOptions { } export interface MindMapZoomOptions extends BaseZoomOptions { } export interface MindMapAlign { mode: AlignOptions['mode']; targetNodeId?: AlignOptions['targetNodeId']; } export interface MindMapOptions extends BaseVisualizerOptions { isHorizontal?: boolean; siblingSeparation?: number; levelSeparation?: number; lineShape?: 'straight' | 'curved' | 'zigzag'; align?: MindMapAlign; } export declare enum MindMapEvent { NODE_DESTROYED = "node:destroyed", LAYOUT_UPDATED = "layout:updated", MINDMAP_DESTROYED = "mindmap:destroyed" } export interface MindMapNodeDestroyEvent extends BaseEntityDestroyedEvent { } export interface MindMapLayoutEvent extends BaseLayoutUpdatedEvent { direction: 'horizontal' | 'vertical'; } export interface MindMapEventMap extends BaseVisualizerEventMap { [MindMapEvent.NODE_DESTROYED]: MindMapNodeDestroyEvent; [MindMapEvent.LAYOUT_UPDATED]: MindMapLayoutEvent; [MindMapEvent.MINDMAP_DESTROYED]: void; } declare type MindMapInputData = BaseInputDataType; export declare class MindMap extends Base2DVisualizer { private _isHorizontal; private _siblingSeparation; private _levelSeparation; private _lineShape; private align; private linesMap; constructor(data: MindMapInputData, containerDom: HTMLElement, options?: MindMapOptions); protected getDefaultStyles(): Required; protected getDefaultDragOptions(): Required; protected getDefaultZoomOptions(): Required; protected _processDataToEntities(data: MindMapInputData): MindNode; protected _calculateLayout(rootEntity: MindNode): void; protected _convertEntitiesToVisualsRecursive(entity: MindNode): [Element[], Line[]]; protected _applyStylesToVisualElement(element: Element, entity: MindNode): void; protected _applyRootContainerStyles(): void; protected _handleEntityDrag(draggedElement: Element, deltaX: number, deltaY: number): void; protected _findEntityByIdRecursive(currentEntity: MindNode, entityId: string): MindNode | undefined; protected _clearCustomResources(): void; get isHorizontal(): boolean; setHorizontal(isHorizontal: boolean): void; private updateConnectionsForNode; private createMindMapConnectionLine; private calculateConnectionPoint; private createMindNodesFromTreeData; private createMindNodesFromFlatData; } export {};