import type { PendingInjection } from "./types.js"; export declare const MAX_PENDING_RUNTIME_CONTEXTS_PER_SESSION = 16; export declare const MAX_TRACKED_RUNTIME_SESSIONS = 64; export type RuntimeContextDeliveryState = "offered" | "tool-output-emitted" | "model-input-observed" | "model-input-fallback" | "duplicate-suppressed"; export type PendingInjectionOffer = { readonly accepted: boolean; readonly digest: string; readonly kind: "offered" | "duplicate-suppressed" | "bounded"; readonly injection?: PendingInjection; }; export type RuntimeContextDelivery = { readonly digest: string; readonly sectionDigests: readonly string[]; state: RuntimeContextDeliveryState; }; export declare class PendingInjectionStore { private readonly pendingBySession; private readonly deliveryBySession; private readonly sectionDigestsBySession; private readonly trackedSessions; set(sessionId: string, injection: PendingInjection): PendingInjectionOffer; take(sessionId: string): PendingInjection | undefined; takeForModelInput(sessionId: string): PendingInjection | undefined; markToolOutputEmitted(sessionId: string, digest: string): void; markModelInputObserved(sessionId: string, digest: string): void; markModelInputFallback(sessionId: string, digest: string): void; markDuplicateSuppressed(sessionId: string, digest: string): void; delivery(sessionId: string, digest: string): RuntimeContextDelivery | undefined; pendingCount(sessionId: string): number; clearSession(sessionId: string): void; private trackSession; private removePending; private setState; }