import { AutomationPageRequest } from '../Common'; import { AutomationFlowDefinition, AutomationFlowKind, AutomationFlowStatus, AutomationFlowVersion, AutomationFlowVersionStatus, AutomationFlowCanvas, FlowEntryPoint } from './Flow'; import { AutomationFlowValidationResult } from './Validation'; export interface CreateAutomationFlowRequest { name: string; description?: string | null; kind: AutomationFlowKind; ownerId?: string | null; tags: string[]; initialCanvas?: AutomationFlowCanvas | null; entryPoints: FlowEntryPoint[]; } export interface UpdateAutomationFlowRequest { name: string; description?: string | null; kind: AutomationFlowKind; ownerId?: string | null; tags: string[]; } export interface AutomationFlowSummary { id: string; name: string; description?: string | null; kind: AutomationFlowKind; status: AutomationFlowStatus; ownerId?: string | null; tags: string[]; draftVersionId?: string | null; activeVersionId?: string | null; updatedAt?: string | null; } export interface AutomationFlowDetails { definition: AutomationFlowDefinition; draftVersion?: AutomationFlowVersion | null; activeVersion?: AutomationFlowVersion | null; } export interface CreateAutomationFlowVersionRequest { sourceVersionId?: string | null; schemaVersion: number; canvas?: AutomationFlowCanvas | null; entryPoints?: FlowEntryPoint[] | null; } export interface UpdateAutomationFlowDraftRequest { expectedRevision: number; status: AutomationFlowVersionStatus; schemaVersion: number; canvas: AutomationFlowCanvas; entryPoints: FlowEntryPoint[]; } export interface PublishAutomationFlowVersionRequest { expectedRevision: number; validateOnly: boolean; } export interface PublishAutomationFlowVersionResult { definition: AutomationFlowDefinition; version: AutomationFlowVersion; validation: AutomationFlowValidationResult; published: boolean; } export interface ReplaceFlowEntryPointsRequest { expectedRevision: number; entryPoints: FlowEntryPoint[]; } export interface AutomationFlowQuery extends AutomationPageRequest { search?: string | null; kinds?: AutomationFlowKind[] | null; statuses?: AutomationFlowStatus[] | null; ownerId?: string | null; tags?: string[] | null; includeArchived: boolean; }