import type { HarnessHooks } from '../../types/index.js'; import type { Metrics, SessionTrace, TraceStreamEvent } from '../../types/telemetry.js'; export interface ObservabilityConfig { /** Where to send the final SessionTrace. Default: console. */ exporter?: 'console' | 'json' | ((trace: SessionTrace) => Promise); /** Output file for `json` exporter. Default: `./.ariaflow-traces/session-.json` */ outputPath?: string; /** Include message text in span events (PII risk). Default: false. */ includeContent?: boolean; /** Optional metrics service for timings alongside spans. */ metrics?: Metrics; /** Service name stored on spans. */ serviceName?: string; /** * Optional live trace stream (e.g. AriaFlow Studio WebSocket). Fire-and-forget; * keep handlers synchronous or schedule async work without blocking the harness. */ traceStream?: (event: TraceStreamEvent) => void; } export declare function createObservabilityHooks(config?: ObservabilityConfig): HarnessHooks;