import { Renderer, utils } from "pixi.js"; import { DApplicationTarget } from "./d-application-like"; import { DDiagramCanvasShape } from "./d-diagram-canvas-shape"; import { EShape } from "./shape/e-shape"; export interface DDiagramShapeLayer { children: EShape[]; } export interface DDiagramShapeLayerContainer { children: DDiagramShapeLayer[]; } export interface DDiagramShapeCanvas { layer: DDiagramShapeLayerContainer; shape: DDiagramCanvasShape; update(): void; onRender(renderer: Renderer): void; } export interface DDiagramShapeDiagram extends DApplicationTarget { canvas: DDiagramShapeCanvas | null; } /** * A shape helper class for diagrams. */ export declare class DDiagramShape extends utils.EventEmitter { protected _diagram: DDiagramShapeDiagram; protected _updateBound: () => void; constructor(diagram: DDiagramShapeDiagram); update(): void; get(id: string): EShape | null; getAll(id: string): EShape[]; each(iteratee: (shape: EShape) => boolean | void, reverse?: boolean): EShape | null; }