export type JourneyId =
  | 'supplier'
  | 'customer'
  | 'accounting-office'
  | 'islamic-finance'
  | 'finance-approvals'
  | 'operations-control'
  | 'reporting-center'
  | 'workflow-monitoring';
export type JourneyFieldType = 'text' | 'textarea' | 'select' | 'date' | 'number' | 'file';

export interface JourneyFieldOption {
  label: string;
  value: string;
}

export interface JourneyField {
  key: string;
  label: string;
  type: JourneyFieldType;
  helperText: string;
  defaultValue?: string;
  options?: JourneyFieldOption[];
}

export interface JourneyStep {
  id: string;
  title: string;
  subtitle: string;
  description: string;
  internalLane: string;
  output: string;
  linkedApis: string[];
  checkpoints: string[];
  fields: JourneyField[];
}

export interface JourneyDefinition {
  id: JourneyId;
  title: string;
  persona: string;
  moduleGroup: string;
  accent: string;
  description: string;
  migrationGoal: string;
  currentPhase: string;
  journeyMetrics: Array<{ label: string; value: string }>;
  steps: JourneyStep[];
}
