import { VariableName } from '../../ast/types'; import { DspGraph } from '../../dsp-graph'; import { Bindings, Message } from '../../run/types'; import { EngineLifecycleRawModuleWithDependencies } from './engine-lifecycle-bindings'; import { EngineContext, MessagePointer } from './types'; export interface IoRawModule { io: { readonly messageReceivers: { [nodeId: DspGraph.NodeId]: { [inletId: DspGraph.PortletId]: (messagePointer: MessagePointer) => void; }; }; }; } type IoImports = { [listenerName: VariableName]: (messagePointer: MessagePointer) => void; }; export type IoRawModuleWithDependencies = IoRawModule & EngineLifecycleRawModuleWithDependencies; export declare const createIoMessageReceiversBindings: ({ metadata, refs, }: EngineContext) => Bindings<{ [nodeId: string]: { [inletId: string]: (message: Message) => void; }; }>; export declare const createIoMessageSendersBindings: ({ metadata, }: EngineContext) => Bindings<{ [nodeId: string]: { [outletId: string]: (message: Message) => void; }; }>; export declare const ioMsgSendersImports: ({ metadata, refs, }: EngineContext) => IoImports; export {};