import type { BackendObservability, GenerateResponse, RequestObservabilityMetrics, TransportObservability } from '../engine/inference-types.js'; import type { BackendProfileObservation, EngineEvent, EngineObservability, EngineState, EmbeddingResult, FinishReason, ObservabilityEvent, ObservabilityEventType, ObservabilitySnapshot, GenerationResult, RuntimeObservation, WebGpuAdapterInfo } from './types.js'; type SnapshotPatch = Partial & { runtime: RuntimeObservation | null | undefined; profile: BackendProfileObservation | null | undefined; }>; export declare function toRuntimeObservation(metrics: RequestObservabilityMetrics | null, transport: TransportObservability): RuntimeObservation | undefined; export declare function toBackendProfileObservation(backend: BackendObservability | null, webgpuAdapter?: WebGpuAdapterInfo | null): BackendProfileObservation | undefined; export declare function observabilityEventToStateEvent(event: ObservabilityEvent): EngineEvent; export declare function observabilitySnapshotToEngineState(snapshot: ObservabilitySnapshot): EngineState; export declare function generationResultFromGenerateResponse(response: GenerateResponse, options?: { text?: string; maxTokens?: number; finishReason?: FinishReason; }): GenerationResult; export declare function generationResultFromText(input: { id: string | number; text: string; finishReason: FinishReason; metrics?: GenerateResponse['observability'] | null; }): GenerationResult; export declare function embeddingResultFromGenerateResponse(response: GenerateResponse): EmbeddingResult; export declare class ObservabilityController implements EngineObservability { private snapshot; private readonly listeners; current(): ObservabilitySnapshot; subscribe(listener: (event: ObservabilityEvent) => void): () => void; emit(type: ObservabilityEventType, patch?: SnapshotPatch): void; ingest(event: ObservabilityEvent): void; update(patch?: SnapshotPatch): void; markClosed(): void; private buildSnapshot; } export {};