import { StreamStore } from "../store.cjs";
import { SubgraphDiscoverySnapshot } from "../types.cjs";
import { Event } from "@langchain/protocol";

//#region src/stream/discovery/subgraphs.d.ts
type SubgraphMap = ReadonlyMap<string, SubgraphDiscoverySnapshot>;
type SubgraphByNodeMap = ReadonlyMap<string, readonly SubgraphDiscoverySnapshot[]>;
declare class SubgraphDiscovery {
  #private;
  readonly store: StreamStore<SubgraphMap>;
  readonly byNodeStore: StreamStore<SubgraphByNodeMap>;
  /** Feed a single root event. Non-discovery events are ignored. */
  push(event: Event): void;
  get snapshot(): SubgraphMap;
  get byNodeSnapshot(): SubgraphByNodeMap;
  /**
   * Drop all discovery state. Called on thread rebind / dispose so a
   * new thread's subgraphs cannot bleed into the previous UI.
   */
  reset(): void;
}
//#endregion
export { SubgraphByNodeMap, SubgraphDiscovery, SubgraphMap };
//# sourceMappingURL=subgraphs.d.cts.map