import { EventEmitter } from 'node:events';
/**
 * Minimal stand-in for the `ws` WebSocket, used to drive the interruption transport in tests.
 *
 * Lives in its own module (rather than inline in each test) so the `vi.mock('ws')` factory can
 * `await import()` it without a top-level await — the tsup build transpiles test files to CJS,
 * which does not support top-level await.
 */
export declare class MockWebSocket extends EventEmitter {
    url: string;
    opts: unknown;
    static OPEN: number;
    static instances: MockWebSocket[];
    readyState: number;
    readonly sent: unknown[];
    terminated: boolean;
    constructor(url: string, opts: unknown);
    send(data: unknown): void;
    close(): void;
    terminate(): void;
    /** Simulate a successful upgrade. */
    simulateOpen(): void;
    /** Simulate the server rejecting the upgrade with an HTTP status. */
    simulateUnexpectedResponse(statusCode: number): void;
    /** Simulate a server message frame carrying a JSON payload. */
    simulateMessage(payload: unknown): void;
}
//# sourceMappingURL=_mock_ws.d.ts.map