import { TransportAdapter } from "../transport.cjs";
import { ProtocolWebSocketTransportOptions } from "./types.cjs";
import { Command, CommandResponse, ErrorResponse, Message } from "@langchain/protocol";

//#region src/client/stream/transport/websocket.d.ts
/**
 * Transport adapter that speaks the thread-centric protocol over a
 * bidirectional WebSocket. Bound to a specific `threadId` — the socket
 * connects to `ws://.../threads/:thread_id/stream/events`.
 */
declare class ProtocolWebSocketTransportAdapter implements TransportAdapter {
  readonly threadId: string;
  private readonly queue;
  private readonly apiUrl;
  private readonly defaultHeaders?;
  private readonly onRequest?;
  private readonly webSocketFactory;
  private readonly streamUrl;
  private readonly pending;
  private socket;
  private closed;
  private intentionalClose;
  constructor(options: ProtocolWebSocketTransportOptions);
  open(): Promise<void>;
  send(command: Command): Promise<CommandResponse | ErrorResponse | void>;
  events(): AsyncIterable<Message>;
  close(): Promise<void>;
  private assertBrowserSafeTransportConfig;
  private sendCommand;
  private readonly handleMessage;
  private readonly handleClose;
  private readonly handleSocketError;
}
//#endregion
export { ProtocolWebSocketTransportAdapter };
//# sourceMappingURL=websocket.d.cts.map