export type StepStatus = "done" | "current" | "upcoming";

export interface Condition {
  key: string;
  value: any;
}

export interface Step {
  id: string;
  title: string;
  component: string;
  requiresValidation?: boolean;
  condition?: Condition;
}

export interface TabGroup {
  id: string;
  title: string;
  steps: Step[];
}

export interface WizardData {
  groups: TabGroup[];
}

export interface StepComponentProps {
  onSkip: () => void;
  onJump: (groupIdx: number, stepIdx: number) => void;
  activeGroupIdx: number;
  activeStepIdx: number;
  jumpToStepId: (stepId: string) => void;
  setIsStepValid: (isValid: boolean) => void;
  jumpToNext: () => void;
  wizardDataGroupSteps: { id: string; title: string }[];
  startPath?: string;
}
