import type { Worker, WorkerOptions, MessageChannel, MessagePort } from 'worker_threads'; interface Constructor { new (...args: any[]): T; } declare const APM_MESSAGE_PORT: unique symbol; declare const WORKER_PROFILES: unique symbol; export declare function enableTypeScriptWorkers(): void; export declare function makeProfiledWorkerClass(Worker: Constructor, MessageChannel: Constructor): Constructor | { new (urlOrCode: string, options?: WorkerOptions): { postMessage(value: any, transferList?: Array): void; startProfiling(): Promise; stopProfiling(profilesToStop: number[]): Promise; terminate(): Promise; on(eventName: string | symbol, listener: (f: T) => void): /*elided*/ any; [APM_MESSAGE_PORT]: MessagePort; [WORKER_PROFILES]: Set; readonly stdin: import("stream").Writable | null; readonly stdout: import("stream").Readable; readonly stderr: import("stream").Readable; readonly threadId: number; readonly resourceLimits?: import("worker_threads").ResourceLimits | undefined; readonly performance: import("worker_threads").WorkerPerformance; postMessageToThread(threadId: number, value: any, timeout?: number): Promise; postMessageToThread(threadId: number, value: any, transferList: readonly import("worker_threads").TransferListItem[], timeout?: number): Promise; ref(): void; unref(): void; getHeapSnapshot(): Promise; addListener(event: "error", listener: (err: Error) => void): /*elided*/ any; addListener(event: "exit", listener: (exitCode: number) => void): /*elided*/ any; addListener(event: "message", listener: (value: any) => void): /*elided*/ any; addListener(event: "messageerror", listener: (error: Error) => void): /*elided*/ any; addListener(event: "online", listener: () => void): /*elided*/ any; addListener(event: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; emit(event: "error", err: Error): boolean; emit(event: "exit", exitCode: number): boolean; emit(event: "message", value: any): boolean; emit(event: "messageerror", error: Error): boolean; emit(event: "online"): boolean; emit(event: string | symbol, ...args: any[]): boolean; once(event: "error", listener: (err: Error) => void): /*elided*/ any; once(event: "exit", listener: (exitCode: number) => void): /*elided*/ any; once(event: "message", listener: (value: any) => void): /*elided*/ any; once(event: "messageerror", listener: (error: Error) => void): /*elided*/ any; once(event: "online", listener: () => void): /*elided*/ any; once(event: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; prependListener(event: "error", listener: (err: Error) => void): /*elided*/ any; prependListener(event: "exit", listener: (exitCode: number) => void): /*elided*/ any; prependListener(event: "message", listener: (value: any) => void): /*elided*/ any; prependListener(event: "messageerror", listener: (error: Error) => void): /*elided*/ any; prependListener(event: "online", listener: () => void): /*elided*/ any; prependListener(event: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; prependOnceListener(event: "error", listener: (err: Error) => void): /*elided*/ any; prependOnceListener(event: "exit", listener: (exitCode: number) => void): /*elided*/ any; prependOnceListener(event: "message", listener: (value: any) => void): /*elided*/ any; prependOnceListener(event: "messageerror", listener: (error: Error) => void): /*elided*/ any; prependOnceListener(event: "online", listener: () => void): /*elided*/ any; prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; removeListener(event: "error", listener: (err: Error) => void): /*elided*/ any; removeListener(event: "exit", listener: (exitCode: number) => void): /*elided*/ any; removeListener(event: "message", listener: (value: any) => void): /*elided*/ any; removeListener(event: "messageerror", listener: (error: Error) => void): /*elided*/ any; removeListener(event: "online", listener: () => void): /*elided*/ any; removeListener(event: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; off(event: "error", listener: (err: Error) => void): /*elided*/ any; off(event: "exit", listener: (exitCode: number) => void): /*elided*/ any; off(event: "message", listener: (value: any) => void): /*elided*/ any; off(event: "messageerror", listener: (error: Error) => void): /*elided*/ any; off(event: "online", listener: () => void): /*elided*/ any; off(event: string | symbol, listener: (...args: any[]) => void): /*elided*/ any; [EventEmitter.captureRejectionSymbol]?(error: Error, event: string | symbol, ...args: any[]): void; removeAllListeners(eventName?: string | symbol | undefined): /*elided*/ any; setMaxListeners(n: number): /*elided*/ any; getMaxListeners(): number; listeners(eventName: string | symbol): Function[]; rawListeners(eventName: string | symbol): Function[]; listenerCount(eventName: string | symbol, listener?: Function | undefined): number; eventNames(): (string | symbol)[]; }; }; export {};