import { Vector, SerializedVector } from './vector.js'; import { Color, SerializedColor } from './color.js'; import { Connector, ConnectorOptions } from './connector.js'; import { Hooks } from './hooks.js'; import { Node } from './node.js'; import { Events, Renderable, Renderer, Serializable } from '../common/interfaces.js'; export declare class Terminal extends Hooks implements Events, Serializable, Renderable { ref: any; node?: Node; type?: TerminalType; dataType?: string; name?: string; connectors: Connector[]; focus: boolean; position: Vector; hitColor?: Color; style?: TerminalStyle; id?: string; private _propName?; private watcherId?; private _ui?; get ui(): boolean | undefined; private set ui(value); get propName(): string | undefined; set propName(propName: string); renderer: Renderer; private constructor(); static create(node: Node, type: TerminalType, dataType: string, options?: TerminalOptions): Terminal; private bindToProp; getData(): any; setData(data: any): void; private setHitColor; render(): void; _render(context: CanvasRenderingContext2D, params: TerminalRenderParams, terminal: Terminal): void; getRenderParams(): TerminalRenderParams; connect(otherTerminal: Terminal, options?: ConnectorOptions): boolean | undefined; disconnect(connector?: string | Connector): boolean; private offUIRender; isConnected(): boolean; onEnter(screenPosition: Vector, realPosition: Vector): void; onExit(screenPosition?: Vector, realPosition?: Vector): void; onDown(screenPosition: Vector, realPosition: Vector): void; onUp(screenPosition: Vector, realPosition: Vector): void; onDrag(screenPosition: Vector, realPosition: Vector): void; onClick(screenPosition: Vector, realPosition: Vector): void; onOver(screenPosition: Vector, realPosition: Vector): void; onContextMenu(): void; onConnect(connector: Connector): void; onDisconnect(connector: Connector, startTerminal?: Terminal, endTerminal?: Terminal): void; onEvent(data: any): void; emit(data: any): void; serialize(): SerializedTerminal; } export declare enum TerminalType { IN = 1, OUT = 2 } export interface SerializedTerminal { name?: string; dataType?: string; type?: TerminalType; ui?: boolean; propName?: string; id?: string; hitColor?: SerializedColor; style?: TerminalStyle; } export interface TerminalStyle { radius?: number; color?: string; borderColor?: string; shadowColor?: string; shadowBlur?: number; focusColor?: string; outerFocusColor?: string; } export interface TerminalRenderParams { focus: boolean; position: SerializedVector; } export interface TerminalOptions { name: string; propName?: string; style?: TerminalStyle; id?: string; hitColor?: Color; ui?: boolean; }