/// import { MessagePort } from "worker_threads"; import { CallableId, ThreadId, ThreadMethodKey } from "./general"; export declare enum MainMessageAction { CALL = "call", INIT = "init" } export declare type BaseMainMessage = { action: MainMessageAction; }; export declare type CallMessage = BaseMainMessage & { key: ThreadMethodKey; callableId: number; args: any; argFunctionPositions: number[]; }; export declare type InitMessage = BaseMainMessage & { workerPath: string; port: MessagePort; id: ThreadId; parentId: ThreadId; }; export declare enum ThreadMessageAction { RESOLVE = "resolve", REJECT = "reject", READY = "ready", STARTUP_ERROR = "startup-error", CALL_FUNCTION = "call-function", FREE_FUNCTION = "free-function" } export declare type BaseThreadMessage = { action: ThreadMessageAction; }; export declare type ThreadReadyMessage = BaseThreadMessage; export declare type ThreadCallbackMessage = BaseThreadMessage & { callableId: CallableId; result: any; }; export declare type ThreadFunctionMessage = BaseThreadMessage & { functionId: CallableId; key: ThreadMethodKey; args: any[]; pos: number; }; export declare type ThreadFreeFunctionMessage = BaseThreadMessage & { functionId: CallableId; key: ThreadMethodKey; }; export declare type ThreadErrorMessage = BaseThreadMessage & { callableId: CallableId; message: string; stack: string; }; export declare function isThreadCallbackMessage(msg: BaseThreadMessage): msg is ThreadCallbackMessage; export declare function isThreadErrorMessage(msg: BaseThreadMessage): msg is ThreadErrorMessage; export declare function isThreadFunctionMessage(msg: BaseThreadMessage): msg is ThreadFunctionMessage; export declare function isThreadFreeFunctionMessage(msg: BaseThreadMessage): msg is ThreadFreeFunctionMessage; export declare function isThreadReadyMessage(msg: BaseThreadMessage): msg is ThreadReadyMessage; export declare function isThreadStartupErrorMessage(msg: BaseThreadMessage): msg is ThreadErrorMessage;