/** * Labeling Workflow Types * * Defines end-to-end labeling workflows with multiple steps */ export declare enum WorkflowStepType { ImportData = "import_data", GeneratePredictions = "generate_predictions", WaitForAnnotations = "wait_for_annotations", SyncAnnotations = "sync_annotations", ValidateQuality = "validate_quality", ExportResults = "export_results", Notification = "notification" } export declare enum WorkflowStatus { Draft = "draft", Active = "active", Paused = "paused", Completed = "completed", Failed = "failed" } export declare enum TriggerType { Manual = "manual", Schedule = "schedule", DatasetUpdate = "dataset_update", ExternalEvent = "external_event" } export declare class ImportDataStepConfig { sourceType: 'dataset' | 'api' | 'file'; dataSetId?: string; sourceUrl?: string; imageField?: string; limit?: number; } export declare class GeneratePredictionsStepConfig { modelId?: string; confidenceThreshold?: number; forceRegenerate?: boolean; } export declare class WaitForAnnotationsStepConfig { minAnnotations?: number; minCompletionRate?: number; maxWaitMinutes?: number; autoProceed?: boolean; } export declare class SyncAnnotationsStepConfig { completedOnly?: boolean; sinceDate?: Date; } export declare class ValidateQualityStepConfig { minQualityScore?: number; validationRules?: string; } export declare class NotificationStepConfig { message: string; recipients?: string[]; webhookUrl?: string; } export declare class WorkflowStepInput { name: string; type: WorkflowStepType; config: string; condition?: string; continueOnError?: boolean; maxRetries?: number; } export declare class WorkflowStep { name: string; type: WorkflowStepType; config: string; condition?: string; continueOnError: boolean; maxRetries?: number; order: number; } export declare class CreateWorkflowRequest { name: string; description?: string; projectId: number; triggerType: TriggerType; triggerConfig?: string; steps: WorkflowStepInput[]; autoStart?: boolean; } export declare class LabelingWorkflow { id: string; name: string; description?: string; projectId: number; triggerType: TriggerType; triggerConfig?: string; steps: WorkflowStep[]; status: WorkflowStatus; lastExecutedAt?: Date; nextExecutionAt?: Date; createdAt: Date; updatedAt: Date; } export declare class ExecuteWorkflowRequest { workflowId: string; parameters?: string; } export declare class WorkflowExecutionStep { stepName: string; stepType: WorkflowStepType; status: string; output?: string; error?: string; startedAt?: Date; completedAt?: Date; durationMs?: number; } export declare class WorkflowExecution { id: string; workflowId: string; workflowName: string; status: string; steps: WorkflowExecutionStep[]; summary?: string; startedAt: Date; completedAt?: Date; totalDurationMs?: number; error?: string; } export declare class WorkflowExecutionResult { executionId: string; status: string; summary?: string; error?: string; } export declare class LabelingWorkflowList { items: LabelingWorkflow[]; total: number; } export declare class WorkflowExecutionList { items: WorkflowExecution[]; total: number; } export declare class WorkflowStatusRequest { workflowId: string; }