import type { Usage } from "@caupulican/pi-ai"; export interface SpawnedUsageReporter { addSpawnedUsage(usage: Usage, options: { label?: string; sourceSessionId?: string; reportId: string; }): string | undefined; } export type SpawnedUsageIdentity = string | readonly string[]; export interface SpawnedUsageIdentityOptions { kind: string; label?: string; sessionId: string; identity: SpawnedUsageIdentity; } /** Stable retry identity; chunk arrays hash as their space-joined form without materializing that string. */ export declare function deriveSpawnedUsageReportId(kind: string, sessionId: string, identity: SpawnedUsageIdentity): string; export declare function hasReportableUsage(usage: Usage): boolean; /** Gate and record one spawned work unit through the session's idempotent usage ledger. */ export declare function reportSpawnedUsage(reporter: SpawnedUsageReporter, usage: Usage, options: SpawnedUsageIdentityOptions): string | undefined; //# sourceMappingURL=spawned-usage.d.ts.map