import { type VideoProjectWorkspace } from './workspace.js'; import type { VideoExecutionPayload, VideoExecutionPollResult, VideoExecutionReport } from './types.js'; import type { ProviderRouteId, VideoOperationKind } from './provider-platform/types.js'; export interface GenerationTelemetryEntry { schemaVersion: 1; projectSlug: string; routeId: ProviderRouteId | null; operationKind: VideoOperationKind; status: 'dry-run' | 'submitted' | 'pending' | 'completed' | 'failed' | 'blocked'; dryRun: boolean; recordedAt: string; taskCount: number; sceneIndices: number[]; config: { aspectRatio?: '16:9' | '9:16' | '1:1'; resolution?: '720p' | '1080p'; generateAudio?: boolean; outputCount?: number; averageDurationSeconds?: number; referenceImageCount: number; referenceVideoCount: number; referenceAudioCount: number; promptWordCount: number; }; externalJobId?: string | null; outputsIngested?: number; cost?: { creditsCharged?: number; usd?: number; source: 'provider-response' | 'estimate'; }; generationTimeSec?: number; issues?: string[]; } export interface HistoricalSeedanceCostTelemetry { sampleCount: number; averageSeedancePerSceneUsd: number; lastRecordedAt: string; matchedRouteId: ProviderRouteId; } export declare function extractProviderMetrics(rawResult: unknown): { creditsCharged?: number; usd?: number; generationTimeSec?: number; }; export declare function buildGenerationTelemetryFromReport(input: { report: VideoExecutionReport; payload?: VideoExecutionPayload; recordedAt?: string; }): GenerationTelemetryEntry; export declare function buildGenerationTelemetryFromPoll(input: { report: VideoExecutionReport; poll: VideoExecutionPollResult; recordedAt: string; }): GenerationTelemetryEntry; export declare function appendGenerationTelemetry(workspace: VideoProjectWorkspace, entry: GenerationTelemetryEntry): Promise; export declare function readProjectGenerationTelemetry(workspace: VideoProjectWorkspace): Promise; export declare function readPortfolioGenerationTelemetry(root?: string): Promise; export declare function findHistoricalSeedanceCostTelemetry(root?: string): Promise; //# sourceMappingURL=generation-telemetry.d.ts.map