import { Processor, ProcessorEventData, ProcessorConfigParam } from './processor'; import { InputSocket, SocketDescriptor } from './socket'; import { Packet, PacketSymbol } from './packet'; import { VoidCallback } from '../common-types'; export declare enum ProcessorProxyWorkerMessage { SPAWN = "spawn", DESTROY = "destroy", CREATE = "create", TERMINATE = "terminate", INVOKE_METHOD = "invoke-method" } export declare type ProcessorProxyWorkerMessageData = { message: ProcessorProxyWorkerMessage; subContextId: number; args: any[]; }; export declare enum ProcessorProxyWorkerCallback { SPAWNED = "spawned", DESTROYED = "destroyed", CREATED = "created", TERMINATED = "terminated", METHOD_RETURN = "return", TRANSFER = "transfer", EVENT = "event" } export declare type ProcessorProxyWorkerCallbackData = { callback: ProcessorProxyWorkerCallback; subContextId: number; workerId: number; processorName: string; value: any; }; export declare type ProcessorProxyWorkerCallbackTransferValue = { packet: Packet; outputIndex: number; }; export declare type ProcessorProxyWorkerSubContext = { id: number; workerId: number; processor: Processor; name: string; }; export declare class ProcessorProxyWorker { private _onSpawned; private _onCreated; private _onTransfer; private _onMethodReturn; private _onEvent; private _onWorkerError; private _subContextId; private _gotSpawnCallback; private _worker; constructor(_onSpawned: VoidCallback, _onCreated: VoidCallback, _onTransfer: (value: ProcessorProxyWorkerCallbackTransferValue) => void, _onMethodReturn: (retValue: any) => void, _onEvent: (event: ProcessorEventData) => void, _onWorkerError: (event: ErrorEvent) => void); get subContextId(): number; spawn(importScriptPaths?: string[]): void; destroy(subContextId: number): void; create(subContextId: number, procName: string, procConstructorArgs: any[]): void; invokeMethod(subContextId: any, methodName: string, methodArgs: any[], transferrables?: ArrayBuffer[]): void; } export declare class ProcessorProxy extends Processor { private readonly _processorShellName; private readonly _processorArgs; private readonly _importScriptPaths; private _worker; private _isReady; constructor(_processorShellName: string, // TODO: pass in constructor instead and do factory stuff outside of here onReady: VoidCallback, _processorArgs?: any[], _importScriptPaths?: string[]); configure(params: ProcessorConfigParam[]): void; get workerShellProcName(): string; get isReady(): boolean; createInput(sd?: SocketDescriptor): InputSocket; createOutput(sd?: SocketDescriptor): import("./socket-output").OutputSocket; protected processTransfer_(inS: InputSocket, p: Packet, inputIndex: number): boolean; protected handleSymbolicPacket_(symbol: PacketSymbol): boolean; private _onTransferFromOutputCallback; private _initShellFromProtoInstance; }