import { ChannelRegistry, ProjectionSpec } from "@langchain/langgraph-sdk/stream"; //#region src/use-projection.d.ts /** * React-side primitive that composes {@link ChannelRegistry.acquire} * with {@link useSyncExternalStore}. * * Contract: * - On mount (or when `key` changes) this hook acquires a * ref-counted projection from the registry and subscribes to its * store. React re-renders automatically whenever the store's * snapshot changes. * - On unmount (or when `key` changes) the previous acquisition is * released. If this was the last consumer of that spec, the * registry closes the underlying server subscription. * * The first render (before `useEffect` runs) returns `initialValue`. * Subsequent renders read from the acquired store. * * Framework bindings for Vue/Svelte/Angular follow the same shape — * acquire on setup/mount, release on scope-dispose/unmount — but use * their own reactivity primitive instead of `useSyncExternalStore`. */ declare function useProjection(registry: ChannelRegistry | null | undefined, specFactory: () => ProjectionSpec, key: string, initialValue: T): T; //#endregion export { useProjection }; //# sourceMappingURL=use-projection.d.ts.map