import { HTMLAttributes, ReactNode } from 'react';
export declare enum StepperV2StepStatus {
DEFAULT = "default",
COMPLETED = "completed",
CURRENT = "current",
PENDING = "pending",
DISABLED = "disabled",
SKIPPED = "skipped"
}
export type StepperV2InteractionState = 'default' | 'hover' | 'focus' | 'disabled';
export declare enum StepperV2Type {
HORIZONTAL = "horizontal",
VERTICAL = "vertical"
}
export type StepperV2Props = {
steps: StepperV2Step[];
onStepClick?: (stepIndex: number) => void;
/**
* Called when a substep is clicked. The substepIndex is **1-based** (starts at 1).
* @param stepId - The id of the parent step
* @param substepIndex - The 1-based index of the substep (e.g., 1 for first substep)
*/
onSubstepClick?: (stepId: number, substepIndex: number) => void;
clickable?: boolean;
stepperType?: StepperV2Type;
} & Omit, 'className' | 'style' | 'id'>;
export type StepperV2SubStep = {
id: number;
title: string;
status?: StepperV2StepStatus;
disabled?: boolean;
};
export type StepperV2Step = {
id: number;
title: string;
status?: StepperV2StepStatus;
disabled?: boolean;
description?: string;
icon?: ReactNode;
substeps?: StepperV2SubStep[];
isExpandable?: boolean;
isExpanded?: boolean;
} & Omit, 'className' | 'style' | 'id'>;
export type StepperV2StepProps = {
step: StepperV2Step;
stepIndex: number;
isCompleted: boolean;
isCurrent: boolean;
isLast: boolean;
isFirst: boolean;
onClick?: (stepIndex: number) => void;
/**
* Called when a substep is clicked. The substepIndex is **1-based** (starts at 1).
* @param stepIndex - The index of the parent step
* @param substepIndex - The 1-based index of the substep (e.g., 1 for first substep)
*/
onSubstepClick?: (stepIndex: number, substepIndex: number) => void;
clickable?: boolean;
currentSubsteps?: Record;
onKeyDown?: (event: React.KeyboardEvent, stepIndex: number) => void;
};