import List from "../../../collection/list/List";
import {Connection} from "../Connection";
import {NodeDescription} from "./NodeDescription";
import {NodeInstancePortReference} from "./NodeInstancePortReference";

export class NodeInstance<N extends NodeDescription = NodeDescription> {
    readonly id: number

    readonly description: N

    readonly endpoints: NodeInstancePortReference[]

    readonly connections: List<Connection>

    setDescription(d: N): void

    setParameters(hash: { [key: string]: any }): void

    getFirstEndpointByName(string: string): NodeInstancePortReference

    readonly isNodeInstance: true
}
