import type { CuiNullable } from '@cuby-ui/cdk'; import type { NodeCheckListItem, NodeCheckListItemContentType, StorageObjectInstruction } from '../../shared'; import type { Designator } from './arrow-work-flow-controller-api.options'; import type { WorkflowChecklistInformation } from './arrow-work-flow-readiness-checklist-api.options'; import type { TransferType } from './arrow-work-flow-trasnfer-controller-api.options'; import type { IntraLogistic } from './intra-logistic'; export declare const enum WorkflowComponentType { Transfer = "TRANSFER", Checklist = "READINESS_CHECKLISTS" } export interface WorkflowActionComponent { readonly id: string; readonly componentType: WorkflowComponentType; readonly structure: T[]; } export declare enum WorkflowStructureType { Mutable = "MUTABLE", Imutable = "IMMUTABLE" } export interface WorkflowStructure { readonly id: string; readonly changeType: WorkflowStructureType; readonly contentType: TransferType; readonly designator: Designator; } export type WorkflowTransferStructure = WorkflowVehicleTransferStructure | WorkflowManualTransferStructure; export interface WorkflowTransferStructureBase extends WorkflowStructure { readonly instructionStorageId: string; readonly instructions: StorageObjectInstruction[]; } export interface WorkflowVehicleTransferStructure extends WorkflowTransferStructureBase { readonly contentType: TransferType.LogisticVehicle; readonly interLogisticsDto: IntraLogistic; } export interface WorkflowManualTransferStructure extends WorkflowTransferStructureBase { readonly contentType: TransferType.Manual; readonly numberPeople: number; readonly information: WorkflowChecklistInformation; } export interface WorkflowChecklistStructure extends WorkflowStructure { readonly information: CuiNullable; } export interface WorkflowSuitableAction { readonly id: string; readonly instructionStorageId: string; readonly designator: Designator; readonly instructions: StorageObjectInstruction[]; readonly interLogisticsDto?: IntraLogistic; readonly information: CuiNullable; readonly componentType: WorkflowComponentType; readonly transferType: TransferType; readonly numberPeople: number; } export interface WorkflowChecklistSuitable extends WorkflowSuitableAction { readonly checkLists: NodeCheckListItem[]; }