import type { StreamConnectionState, WorkspaceInteractionRevisionEvent } from "@opengeni/sdk"; export type InteractionInvalidationOptions = { workspaceId: string; /** Distinguishes filtered projections of the same workspace catalog. */ key: string; enabled: boolean; event: WorkspaceInteractionRevisionEvent | null; connectionState: StreamConnectionState | "idle" | "error"; /** Catalog responses carry the workspace revision; live-state lists do not. */ knownRevision?: number | undefined; refresh: () => Promise; fallbackPollIntervalMs?: number | undefined; }; /** * Refetch authoritative lists on the shared latest-revision stream. Poll only * while that stream is unavailable, preserving standalone-hook degradation * without multiplying healthy-provider traffic. */ export declare function useInteractionInvalidation(options: InteractionInvalidationOptions): void;