export type WorkerType = { [key: string]: (...args: any) => any; }; export type WorkerRecvEvent = { type: "function"; payload: { id: number; name: keyof T; args: unknown; }; } | { type: "callback_result"; payload: { id: string | number; result: unknown; }; } | { type: "callback_call"; payload: { id: number; callbackId: string; args: unknown; callId: string; }; }; export type WorkerSendEvent = { type: "result"; payload: { id: number; result: unknown; }; } | { type: "error"; payload: { id: number; error: unknown; }; } | { type: "callback_call"; payload: { id: number; callbackId: string; args: unknown; callId: string; }; } | { type: "callback_result"; payload: { id: string | number; result: unknown; }; }; export declare const FUNCTION_PLACEHOLDER = "__worker_lib_function__"; export interface FunctionPlaceholder { [FUNCTION_PLACEHOLDER]: string; } export declare const isPlaceholder: (v: any) => v is FunctionPlaceholder; export declare const isPlainObject: (v: any) => boolean; export declare const getTransferables: (v: any, result?: ArrayBuffer[]) => ArrayBuffer[]; export declare const createRegistry: () => { callbacks: Map; callbackProxies: Map; registerCallback: (requestId: number, fn: Function) => string; clearCallbacks: (requestId: number) => void; transformArgs: (requestId: number, args: any) => any; resolveArgs: (requestId: number, args: any, createProxy: (callbackId: string) => Function) => any; }; export interface UniversalWorker { postMessage(message: any, transfer?: any[]): void; addEventListener(type: string, listener: (data: any) => void): void; removeEventListener(type: string, listener: (data: any) => void): void; terminate(): void; }