import type { Exchange } from "../record"; export type { Exchange }; export type FlowStatus = "passed" | "flaky" | "failed" | "timedOut" | "interrupted" | "skipped" | "did not run"; export interface CodeLocation { file: string; line: number; } export interface StepData { title: string; start: number; duration: number; failed: boolean; location?: CodeLocation; via?: CodeLocation; subtitle?: string; subject?: string; params?: Record; notes?: Record; exchanges?: Exchange[]; children: StepData[]; } export interface FlowData { title: string; status: FlowStatus; duration: number; attempts: number; steps: StepData[]; failedStep: string[]; error?: string; trace?: string; } export interface SpecData { name: string; flows: FlowData[]; } export interface ReportData { root: string; started: number; duration: number; specs: SpecData[]; errors: string[]; }