export declare abstract class ArtificialWorker<InputMessage, OutputMessage> extends EventTarget {
    #private;
    postMessage(data: InputMessage, _transferable?: any): void;
    addEventListener<T extends 'error' | 'message' | 'messageerror'>(type: T, callback: (event: T extends 'message' ? MessageEvent<OutputMessage> : ErrorEvent | MessageEvent) => void): void;
    postMessageToMain(data: OutputMessage, _transferable?: any): void;
    addEventListenerFromMain(type: 'message', callback: (event: MessageEvent<InputMessage>) => void): void;
    abstract terminate(): void;
}
//# sourceMappingURL=artificial-worker.d.ts.map