import type { SessionOutboundMessage } from "@getpaseo/protocol/messages"; interface RuntimeMetricsLogger { info(obj: object, msg?: string): void; } interface RuntimeMetricsContext { connectionPath: "direct" | "relay"; serverId: string | null; getConnectionStatus: () => string; } interface RuntimeMetricsOptions { windowMs?: number; } export declare class DaemonClientRuntimeMetrics { private readonly logger; private readonly context; private readonly startedAt; private readonly windowMs; private readonly buckets; private readonly inboundMessageCounts; private readonly inboundMessageBytes; private readonly inboundMessageHandlerMs; private readonly inboundAgentStreamCounts; private readonly inboundAgentStreamByAgentCounts; private readonly inboundBinaryFrameCounts; constructor(logger: RuntimeMetricsLogger, context: RuntimeMetricsContext, options?: RuntimeMetricsOptions); recordMessage(type: string, bytes: number, handlerMs: number): void; recordAgentStream(payload: Extract["payload"]): void; recordBinaryFrame(kind: string, bytes: number, handlerMs: number): void; flush(options?: { final?: boolean; }): void; private consumeCurrentBucket; private pruneBuckets; private aggregateBuckets; } export {}; //# sourceMappingURL=daemon-client-runtime-metrics.d.ts.map