import { ChatModelStreamHandle, InterruptPayload, ProtocolEvent } from "../stream/types.cjs";
import { LifecycleEntry } from "../stream/transformers/types.cjs";
import { GraphRunStream, SubgraphRunStream } from "../stream/run-stream.cjs";
import { Client, ThreadStream } from "@langchain/langgraph-sdk";

//#region src/pregel/remote-run-stream.d.ts
/**
 * Adapts the SDK's remote ThreadStream to the local GraphRunStream shape.
 */
declare class RemoteGraphRunStream<TValues = Record<string, unknown>, TExtensions extends Record<string, unknown> = Record<string, unknown>> extends GraphRunStream<TValues, TExtensions> {
  #private;
  constructor(params: {
    client: Client;
    thread: ThreadStream<TExtensions>;
    runId?: string;
    abortController?: AbortController;
  });
  [Symbol.asyncIterator](): AsyncIterator<ProtocolEvent>;
  get subgraphs(): AsyncIterable<SubgraphRunStream>;
  get values(): AsyncIterable<TValues> & PromiseLike<TValues>;
  get messages(): AsyncIterable<ChatModelStreamHandle>;
  get lifecycle(): AsyncIterable<LifecycleEntry>;
  messagesFrom(node: string): AsyncIterable<ChatModelStreamHandle>;
  get output(): Promise<TValues>;
  get interrupted(): boolean;
  get interrupts(): readonly InterruptPayload[];
  abort(reason?: unknown): void;
  get signal(): AbortSignal;
  get thread(): ThreadStream<TExtensions>;
}
//#endregion
export { RemoteGraphRunStream };
//# sourceMappingURL=remote-run-stream.d.cts.map