import type { MetricsInstruments, RuntimeState } from "./types.js"; export declare class MetricsRecorder { private _instruments; private runtimeState; constructor(_instruments: MetricsInstruments, runtimeState: RuntimeState); /** Update instruments after late initialization */ set instruments(instruments: MetricsInstruments); get instruments(): MetricsInstruments; recordHttpRequest(attributes?: Record): void; recordHttpRequestComplete(durationMs: number, attributes?: Record): void; recordCacheGet(hit: boolean, attributes?: Record): void; recordCacheSet(attributes?: Record): void; recordCacheInvalidate(count: number, attributes?: Record): void; setCacheSize(size: number): void; recordRender(durationMs: number, attributes?: Record): void; recordRenderError(attributes?: Record): void; recordRSCRender(durationMs: number, attributes?: Record): void; recordRSCStream(durationMs: number, attributes?: Record): void; recordRSCRequest(type: "manifest" | "page" | "stream" | "action", attributes?: Record): void; recordRSCError(attributes?: Record): void; recordBuild(durationMs: number, attributes?: Record): void; recordBundle(sizeKb: number, attributes?: Record): void; recordDependencyArtifactBuild(input: { event: "claim" | "success" | "failure"; durationMs?: number; totalBytes?: number; assetCount?: number; remainingExternalImportCount?: number; failureCode?: string; }): void; recordDataFetch(durationMs: number, attributes?: Record): void; recordDataFetchError(attributes?: Record): void; recordCorsRejection(attributes?: Record): void; recordSecurityHeaders(attributes?: Record): void; recordError(attributes?: Record): void; recordStreamLifecycleOutcome(attributes: Record): void; recordStreamLifecycleDeadline(attributes: Record): void; recordStreamLifecycleTelemetry(attributes: Record): void; recordStreamLifecycleRepair(attributes: Record): void; recordStreamLifecycleShadowDivergence(attributes: Record): void; recordStreamLifecycleDuration(kind: "attempt" | "first_progress" | "semantic_idle" | "tool_input" | "tool_execution", durationMs: number, attributes: Record): void; } //# sourceMappingURL=recorder.d.ts.map