/// <reference types="node" />
import { EventEmitter } from 'events';
declare type Message = string;
export interface SynchronousWebSocketServerOpts {
    maxMessageSize?: number;
    timeout?: number;
    verboseLogging?: boolean;
}
export declare class SynchronousWebSocketServer extends EventEmitter {
    private messageDataArray;
    private signalingArray;
    private workerStateTrace;
    private textDecoder;
    private worker;
    private timeout;
    private verboseLogging;
    private state;
    private _workerThreadState;
    constructor(port: number, opts?: SynchronousWebSocketServerOpts);
    get isConnected(): boolean;
    get workerThreadState(): string;
    private pullWorkerThreadState;
    waitForConnection(): void;
    receiveSocketEvents(): IterableIterator<Message>;
    receiveSocketEvent(): Message | undefined;
    private receiveFromWorker;
    send(message: Message): void;
    close(): void;
    private postMessageToWorker;
}
export {};
