import type { SpanSnapshot } from './span-to-ndjson-mapper.js'; import type { UsageMissingReason } from './contracts.js'; import { type ProviderType } from '../../shared/types/provider.js'; export type PhaseUsageType = 'phase1_execute' | 'phase2_report' | 'phase3_structured' | 'phase3_tag' | 'phase3_fallback'; export type PhaseUsageStepType = 'agent' | 'system' | 'workflow_call'; type PhaseName = 'execute' | 'report' | 'judge'; type JudgeMethod = 'structured_output' | 'phase3_tag' | 'ai_judge'; type JudgeStage = 1 | 2 | 3; export interface PhaseUsageEventLogRecord { run_id: string; session_id: string; provider: ProviderType; provider_model: string; step: string; step_type: PhaseUsageStepType; persona?: string; tags?: string[]; phase: PhaseUsageType; phase_name: PhaseName; phase_execution_id?: string; judge_stage?: JudgeStage; judge_method?: JudgeMethod; 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 interface PhaseUsageEventContext { runId: string; sessionId: string; } export declare function mapSpanEndToPhaseUsageEvent(span: SpanSnapshot, context: PhaseUsageEventContext): PhaseUsageEventLogRecord | undefined; export {}; //# sourceMappingURL=phaseUsageEvent.d.ts.map