import { MindLayoutType } from '@plait/layouts'; import { PlaitBoard, PlaitElement, Point } from '@plait/core'; import { BaseData, EmojiData, ImageData } from './element-data'; import { StrokeStyle } from '@plait/common'; export interface MindElement extends PlaitElement { data: T; children: MindElement[]; rightNodeCount?: number; width: number; manualWidth?: number; height: number; isRoot?: boolean; fill?: string; strokeColor?: string; strokeWidth?: number; strokeStyle?: StrokeStyle; shape?: MindElementShape; branchColor?: string; branchWidth?: number; branchShape?: BranchShape; layout?: MindLayoutType; isCollapsed?: boolean; start?: number; end?: number; } export interface PlaitMind extends MindElement { type: 'mindmap'; points: Point[]; } export declare const PlaitMind: { isMind: (value: any) => value is PlaitMind; }; export declare const MindElement: { hasLayout(value: MindElement, layout: MindLayoutType): boolean; isIndentedLayout(value: MindElement): boolean; isMindElement(board: PlaitBoard, element: PlaitElement): element is MindElement; getParent(node: MindElement): MindElement; findParent(node: MindElement): MindElement | undefined; getRoot(board: PlaitBoard, element: MindElement): PlaitMind; getAncestors(board: PlaitBoard, element: MindElement): PlaitElement[]; getNode(element: MindElement): import("@plait/mind").MindNode; findParentNode(element: MindElement): import("@plait/mind").MindNode | undefined; hasEmojis(element: MindElement): element is MindElement; hasImage(element: MindElement): element is MindElement; getEmojis(element: MindElement): import("./element-data").EmojiItem[]; }; export declare enum MindElementShape { roundRectangle = "round-rectangle", underline = "underline" } export declare enum BranchShape { bight = "bight", polyline = "polyline" }