import type { ProviderType } from '../../shared/types/provider.js'; import type { ProviderUsageSnapshot } from '../models/response.js'; import { type UsageMissingReason } from './contracts.js'; export type StepType = 'normal' | 'parallel' | 'arpeggio' | 'team_leader' | 'workflow_call'; export interface UsageEventLogRecord { run_id: string; session_id: string; provider: ProviderType; provider_model: string; step: string; step_type: StepType; timestamp: string; success: boolean; usage_missing: boolean; reason?: UsageMissingReason; usage: { input_tokens?: number; output_tokens?: number; total_tokens?: number; cached_input_tokens?: number; cache_creation_input_tokens?: number; cache_read_input_tokens?: number; }; } export type UsageEventPayload = Pick; interface UsageEventMeta { runId: string; sessionId: string; provider: ProviderType; providerModel: string; step: string; stepType: StepType; } interface BuildUsageRecordParams { success: boolean; usage: ProviderUsageSnapshot; timestamp?: Date; } export declare function buildUsageEventRecord(meta: UsageEventMeta, params: BuildUsageRecordParams): UsageEventLogRecord; export declare function buildUsageEventPayload(usageSnapshot: ProviderUsageSnapshot): UsageEventPayload; export {}; //# sourceMappingURL=usageEvent.d.ts.map