import { type FactoryRecording, type RecordingValidationIssue } from "@you-agent-factory/client"; import { type FactoryActivityProjection, type FactoryLoadProjection, type FactoryTopologyNode, type FactoryTopologyProjection, type FactoryWorkProgressProjection } from "@you-agent-factory/factory-replay"; import { type FactoryTimelineScrubberMessages } from "./factory-timeline-scrubber"; import { type FactoryTopologyReplayMessages } from "./factory-topology-replay"; import type { FactoryVisualizerError } from "./visualizer-error"; import { type WorkProgressVisualizerMessages } from "./work-progress-visualizer"; export interface FactoryRecordingValidationDiagnosticIssue { category: RecordingValidationIssue["category"]; code: RecordingValidationIssue["code"]; path: readonly (number | string)[]; } export interface FactoryRecordingValidationDiagnostic { issues: readonly FactoryRecordingValidationDiagnosticIssue[]; kind: "recording-validation"; message: string; recoverable: false; } export type FactoryRecordingTopologyReplayError = FactoryRecordingValidationDiagnostic | FactoryVisualizerError; export interface FactoryRecordingTopologyReplayMessages { progress: WorkProgressVisualizerMessages; regionLabel: string; selectedTick: (formattedTick: string) => string; timeline: FactoryTimelineScrubberMessages; topology: FactoryTopologyReplayMessages; validationFailed: string; } export interface FactoryRecordingTopologyReplayProps { defaultSelectedTick?: number; formatNumber: (value: number) => string; messages: FactoryRecordingTopologyReplayMessages; onError?: (error: FactoryRecordingTopologyReplayError) => void; onSelectNode?: (node: FactoryTopologyNode) => void; recording?: unknown; selectedNodeId?: string; state?: FactoryRecordingTopologyReplayState; } export type FactoryRecordingTopologyReplayState = { error: FactoryVisualizerError; status: "failed"; } | { status: "loading"; } | { recording: unknown; status: "ready"; }; interface RecordingProjection { activity: FactoryActivityProjection; load: FactoryLoadProjection; progress: FactoryWorkProgressProjection; topology: FactoryTopologyProjection; } export interface RecordingProjectionCache { events?: FactoryRecording["events"]; projections: Map; } export declare const MAX_CACHED_RECORDING_PROJECTIONS = 32; export declare function createRecordingProjectionCache(): RecordingProjectionCache; /** Validate and replay one caller-owned recording through the controlled visualizers. */ export declare function FactoryRecordingTopologyReplay({ defaultSelectedTick, formatNumber, messages, onError, onSelectNode, recording, selectedNodeId, state, }: FactoryRecordingTopologyReplayProps): import("react/jsx-runtime").JSX.Element; export declare function projectRecordingAtTick(events: FactoryRecording["events"], tick: number, cache: RecordingProjectionCache): RecordingProjection; export {};