import type { FabricEvent, FabricEventCallback, JsonObject } from './types.js'; export interface ObservabilityCorrelation { jobId?: string; agentId?: string; sessionId?: string; submissionId?: string; tenantId?: string; } export interface FabricObservabilityRecord { integration: string; event: { id: string; type: string; timestamp: string; operationId?: string; turnId?: string; eventIndex?: number; }; correlation: ObservabilityCorrelation; data?: JsonObject; } export interface ObservabilityObserverOptions { integration: string; send(record: FabricObservabilityRecord): void | Promise; correlation?: ObservabilityCorrelation | ((event: FabricEvent) => ObservabilityCorrelation); /** Event data is omitted unless explicitly enabled. Sensitive keys and configured secrets are still redacted. */ captureData?: boolean; additionalSecrets?: string[]; onError?: (error: unknown) => void; } /** Convert a Fabric event into a vendor-neutral, low-cardinality record. */ export declare function createObservabilityRecord(event: FabricEvent, options: Pick): FabricObservabilityRecord; /** Create a fail-open event observer suitable for Braintrust, Sentry, Jetty, or a custom sink. */ export declare function createObservabilityObserver(options: ObservabilityObserverOptions): FabricEventCallback; export declare function sanitizeObservabilityData(data: JsonObject, additionalSecrets?: string[]): JsonObject; //# sourceMappingURL=observability.d.ts.map