import { WorkflowAction } from '../enums/workflow-action.enum';
import { WorkflowState } from './workflow-state.interface';

export interface DocumentUpdateResult {
  affectedDepartments: string[];
  invalidatedApprovals: string[];
  requiresResubmission: boolean;
  message: string;
}

export interface WorkflowProcessResult {
  success: boolean;
  state: WorkflowState;
  actions: WorkflowAction[];
  actionsMetadata: Record<string, any>;
  stageAdvanced: boolean;
  workflowCompleted: boolean;
  failureReason?: string;
  nextDepartments?: string[];
  message: string;
}

export interface StageCompletionCheck {
  isComplete: boolean;
  approvedCount: number;
  totalRequired: number;
  rejectionCount: number;
  pendingCount: number;
  nextAction?: WorkflowAction;
}
