//#region src/utils/stream.d.ts
type IterableReadableStreamInterface<T> = ReadableStream<T> & AsyncIterable<T>;
/**
 * Options for streaming with automatic retry logic.
 */
/**
 * How {@link idleReconnectStream} decides when the connection is idle.
 *
 * - A `number` is a fixed idle window in milliseconds: the watchdog arms
 *   immediately (even before the first byte) and trips after that long with no
 *   activity. Use when you know your server's behaviour and want guaranteed
 *   coverage from t=0; it does not depend on heartbeats.
 * - `"auto"` is heartbeat-adaptive: the watchdog stays dormant until it has
 *   observed the server's SSE keep-alive comments (e.g. LangGraph Platform's
 *   `: heartbeat` every ~5s), then arms with a window derived from the
 *   observed cadence. On a server that never sends heartbeats it never arms,
 *   so it can't false-fire during a legitimately quiet period.
 */
type IdleReconnectMode = number | "auto";
declare class IterableReadableStream<T> extends ReadableStream<T> implements IterableReadableStreamInterface<T> {
  reader: ReadableStreamDefaultReader<T>;
  ensureReader(): void;
  next(): Promise<IteratorResult<T>>;
  return(): Promise<IteratorResult<T>>;
  throw(e: any): Promise<IteratorResult<T>>;
  [Symbol.asyncDispose](): Promise<void>;
  [Symbol.asyncIterator](): this;
  static fromReadableStream<T>(stream: ReadableStream<T>): IterableReadableStream<T>;
  static fromAsyncGenerator<T>(generator: AsyncGenerator<T>): IterableReadableStream<T>;
}
//#endregion
export { IdleReconnectMode, IterableReadableStream };
//# sourceMappingURL=stream.d.cts.map