export declare module DspGraph { type NodeId = string; type NodeType = string; type NodeArgument = string | number; type NodeArguments = { [argumentName: string]: any; }; type PortletId = string; type PortletType = 'signal' | 'message'; interface ConnectionEndpoint { readonly nodeId: NodeId; readonly portletId: PortletId; } interface Portlet { readonly id: PortletId; readonly type: PortletType; } type PortletMap = { [portletId: string]: Portlet; }; type ConnectionEndpointMap = { [portletId: string]: Array; }; interface Node { readonly id: NodeId; readonly type: NodeType; readonly args: NodeArgsType; readonly sources: ConnectionEndpointMap; readonly sinks: ConnectionEndpointMap; readonly inlets: PortletMap; readonly outlets: PortletMap; /** * When true, the node will pull sound through the signal graph. * This value is used for signal graph traversal. */ readonly isPullingSignal?: true; /** * When true, the node will push messages through the message graph. * This value is used for signal graph traversal. */ readonly isPushingMessages?: true; } type Graph = { [nodeId: NodeId]: Node; }; type Arrays = { [arrayName: string]: Float32Array; }; type GraphTraversal = Array; type Connection = [DspGraph.ConnectionEndpoint, DspGraph.ConnectionEndpoint]; }