import type { WorkDiscoveryMatchClass } from "@opengeni/contracts"; import type { Observability } from "@opengeni/observability"; export type WorkDiscoverySurface = "first_party_mcp" | "agent_topology"; export type WorkDiscoveryMode = "browse" | "query" | "subject"; export type WorkDiscoveryOutcome = "ok" | "empty" | "disabled" | "error"; export type WorkDiscoveryAuthorizationScope = "workspace" | "scoped"; export type WorkDiscoveryObservation = { surface: WorkDiscoverySurface; mode: WorkDiscoveryMode; outcome: WorkDiscoveryOutcome; authorizationScope: WorkDiscoveryAuthorizationScope; durationMs: number; responseBytes: number; resultCount: number; overlapCount: number; matchCounts: Partial>; }; type WorkDiscoveryObservedRow = { relatedWork?: { match: { class: WorkDiscoveryMatchClass; } | null; possibleOverlap: boolean; }; }; export declare function summarizeWorkDiscoveryRows(rows: readonly WorkDiscoveryObservedRow[]): Pick; /** * Low-cardinality work-discovery telemetry. Identifiers, search text, subject * keys, titles, goals, claim labels, versions, and provenance are excluded by * construction. An observability failure never changes product behavior. */ export declare function observeWorkDiscovery(observability: Observability | null | undefined, observation: WorkDiscoveryObservation): void; export {};