import type { McpToolName } from "../contracts/output-schemas.js"; import { type BurdenByKind } from "./burden.js"; export declare class MetricsSnapshot { readonly reads: number; readonly outlines: number; readonly refusals: number; readonly cacheHits: number; readonly bytesReturned: number; readonly bytesAvoided: number; readonly burdenByKind: Readonly; constructor(fields: { readonly reads: number; readonly outlines: number; readonly refusals: number; readonly cacheHits: number; readonly bytesReturned: number; readonly bytesAvoided: number; readonly burdenByKind: Readonly; }); } export declare class MetricsDelta { readonly reads: number; readonly outlines: number; readonly refusals: number; readonly cacheHits: number; readonly bytesReturned: number; readonly bytesAvoided: number; readonly burdenByKind: Readonly; constructor(fields: { readonly reads: number; readonly outlines: number; readonly refusals: number; readonly cacheHits: number; readonly bytesReturned: number; readonly bytesAvoided: number; readonly burdenByKind: Readonly; }); } export declare class Metrics { private totalReads; private totalOutlines; private totalRefusals; private totalCacheHits; private totalBytesAvoidedByCache; private cumulativeBytesReturned; private burdenByKind; static fromSnapshot(snapshot: MetricsSnapshot): Metrics; recordRead(): void; recordOutline(): void; recordRefusal(): void; recordCacheHit(bytesAvoided: number): void; recordToolResult(tool: McpToolName, n: number): void; applyDelta(delta: MetricsDelta): void; snapshot(): MetricsSnapshot; } export declare function diffMetrics(before: MetricsSnapshot, after: MetricsSnapshot): MetricsDelta; //# sourceMappingURL=metrics.d.ts.map