interface DedicatedWorkerGlobalScope extends MessageEventTarget { postMessage(message: any, transfer: Transferable[]): void; postMessage(message: any, options?: StructuredSerializeOptions): void; close(): void; } interface SharedWorker extends EventTarget, AbstractWorker { /** * The **`port`** property of the SharedWorker interface returns a MessagePort object used to communicate and control the shared worker. * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SharedWorker/port) */ readonly port: MessagePort; addEventListener(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: SharedWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } /** * A NodePort represents a point of contact with a node */ type NodePort = Worker | MessagePort | SharedWorker | DedicatedWorkerGlobalScope; declare const NodePort: { postMessage: (port: NodePort, message: any, transfer?: readonly Transferable[] | StructuredSerializeOptions) => void; onMessage: (port: NodePort, handler: ((event: MessageEvent) => void) | null) => void; onMessageError: (port: NodePort, handler: ((event: MessageEvent) => void) | null) => void; onError: (port: NodePort, handler: ((event: ErrorEvent) => void) | null) => void; close: (port: NodePort) => void; }; export { NodePort }; export type { DedicatedWorkerGlobalScope };