import type { HarnessName } from "../knowledge/descriptor.js"; /** Native accounting observations, not hcn estimates or billing data. * Message/tool/compaction counts are per completed operation. Turn counts * cover the main loop; session counts are cumulative snapshots, not deltas. * Cache counts can overlap input; reasoning counts are a subset of output. * Missing fields stay missing, including an unknown cache relationship. */ export interface UsageEvent { readonly kind: "usage"; readonly scope: "message" | "turn" | "session" | "compaction" | "tool"; readonly inputTokens?: number; readonly outputTokens?: number; readonly cacheReadTokens?: number; readonly cacheWriteTokens?: number; readonly reasoningTokens?: number; readonly totalTokens?: number; readonly costUsd?: number; readonly inputIncludesCache?: boolean; readonly callId?: string; readonly model?: string; } export declare function usageEventsOf(harness: HarnessName, r: Record): UsageEvent[]; //# sourceMappingURL=usage.d.ts.map