import { type InteractionResult } from '../../video/gemini-interactions.js'; import { type MatchUploadCache } from '../../video/match-highlights.js'; import type { MatchHighlightsFlags, MatchHighlightsRunners } from './match-highlights.js'; export declare function readJsonIfPresent(path: string): Promise; export declare function analyzeSegment(input: { segmentPath: string; /** The prompt for THIS call: the listing prompt for a segment, a pass prompt for a reel. */ prompt: string; flags: MatchHighlightsFlags; promptId: string; keyFingerprints: ReadonlySet; runners: MatchHighlightsRunners; /** * Fired immediately BEFORE the Interactions call, so a call that then fails * (an `incomplete` output cap, say) is still counted — it was made, and it * was billed. Counting only successes would under-report real spend. */ onProviderCall: () => void; }): Promise<{ result: InteractionResult; cached: boolean; /** True when the call was retried after a tool-call overflow. */ retried?: boolean; uploadSeconds?: number; analysisSeconds?: number; }>; export declare function uploadSegment(input: { segmentPath: string; flags: MatchHighlightsFlags; keyFingerprints: ReadonlySet; runners: MatchHighlightsRunners; }): Promise<{ cache: MatchUploadCache; key: string; uploadSeconds?: number; }>; //# sourceMappingURL=match-highlights-segment.d.ts.map