#import <DOM/EventTarget.idl>
#import <HTML/AbstractWorker.idl>
#import <HTML/MessagePort.idl>
#import <HTML/Worker.idl>
#import <TrustedTypes/TrustedScriptURL.idl>

// https://html.spec.whatwg.org/multipage/workers.html#sharedworker
[Exposed=Window]
interface SharedWorker : EventTarget {
    constructor((TrustedScriptURL or Utf16USVString) scriptURL, optional (DOMString or WorkerOptions) options = {});

    readonly attribute MessagePort port;
};

SharedWorker includes AbstractWorker;
