import { Port } from '../layout/core/port'; import { ICurve } from '../math/geometry/icurve'; import { Rectangle } from '../math/geometry/rectangle'; export declare class Shape { private parents; private children; get Parents(): Array; get Children(): Array; get BoundaryCurve(): ICurve; set BoundaryCurve(value: ICurve); private boundaryCurve; get BoundingBox(): Rectangle; get Ports(): Set; private ports; UserData: any; static mkShape(): Shape; /** Constructor taking the curve of the shape.*/ constructor(boundaryCurve?: ICurve); /** A group is a shape that has children.*/ get IsGroup(): boolean; IsTransparent: boolean; Descendants(): IterableIterator; Ancestors(): IterableIterator; AddParent(shape: Shape): void; AddChild(shape: Shape): void; RemoveChild(shape: Shape): void; RemoveParent(shape: Shape): void; ToString(): string; }