import { z } from 'zod'; /** * Core type definitions for Workflow System v2 * * See WORKFLOW_SYSTEM_PROPOSAL.md for full architectural details */ interface ProgressUpdate { stageId: string; stageName: string; progress: number; message: string; details?: Record; } interface StageMetrics { startTime: number; endTime: number; duration: number; itemsProcessed?: number; itemsProduced?: number; aiCalls?: number; totalTokens?: number; totalCost?: number; } interface EmbeddingResult { id: string; content: string; embedding: number[]; similarity?: number; metadata?: Record; } interface EmbeddingInfo { model: string; dimensions: number; results: EmbeddingResult[]; totalProcessed?: number; averageSimilarity?: number; } interface StageResult { output: TOutput; metrics: StageMetrics; artifacts?: Record; embeddings?: EmbeddingInfo; } declare const SuspendedStateSchema: z.ZodObject<{ batchId: z.ZodString; statusUrl: z.ZodOptional; apiKey: z.ZodOptional; submittedAt: z.ZodString; pollInterval: z.ZodNumber; maxWaitTime: z.ZodNumber; metadata: z.ZodOptional>; }, z.core.$strip>; interface SuspendedResult { suspended: true; state: z.infer; pollConfig: { pollInterval: number; maxWaitTime: number; nextPollAt: Date; }; metrics: StageMetrics; } interface CompletionCheckResult { ready: boolean; output?: TOutput; error?: string; nextCheckIn?: number; metrics?: StageMetrics; embeddings?: EmbeddingInfo; } type LogLevel = "DEBUG" | "INFO" | "WARN" | "ERROR"; type StageMode = "sync" | "async-batch"; export { type CompletionCheckResult as C, type LogLevel as L, type ProgressUpdate as P, type StageResult as S, type SuspendedResult as a, SuspendedStateSchema as b, type StageMode as c };