import { default as React } from 'react';
import { default as StepContentHeader } from './StepContentHeader';
import { IStepperStepProps } from '../../stepper/components';
import { StepperStepStatus } from '../../stepper/types';
import { default as NavigationButtonState } from './NavigationButtonState';
/**
 * Metadata configuration for a single wizard step.
 * Passed as an array to StepperLayout's `steps` prop.
 */
type StepConfig = Pick<IStepperStepProps, 'title' | 'description' | 'completedTitle' | 'completedBadgeLabel' | 'completedBadgeIcon'> & {
    /** Unique step identifier — matched against child `id` props by StepperLayout. */
    id: string;
    /**
     * Explicit visual status for this step.
     * Overrides auto-derived completed status (steps before activeStep).
     * 'active' is excluded — always driven by the activeStep prop from the IStepperLayoutProps.
     * When omitted: steps before activeStep auto-complete, others show default.
     */
    status?: Exclude<StepperStepStatus, 'active'>;
    /**
     * Optional header rendered inside the Card above the step content.
     *
     * - `StepContentHeader` — config object; renders a default `AppHeader` with title/subtitle/icon.
     * - `React.ReactElement` — renders the element directly inside `CardHeader`, replacing `AppHeader`.
     *
     * Separate from the stepper progress bar's title/description.
     */
    contentHeader?: StepContentHeader | React.ReactElement;
    /**
     * Controls Back button state for this step.
     * Overrides the default: hidden on first step, visible on all others.
     */
    backAction?: NavigationButtonState;
    /**
     * Controls Next button state for this step.
     * Overrides the default: visible on all steps except the last, hidden on last step.
     */
    nextAction?: NavigationButtonState;
};
export default StepConfig;
