import { type ComponentPropsWithoutRef, type ReactNode } from "react";
export type StepperStatus = "complete" | "active" | "pending" | "error";
export type StepperOrientation = "horizontal" | "vertical";
export type StepperSize = "sm" | "md" | "lg";
export interface StepperStep {
    /** Display label. */
    label: ReactNode;
    /** Optional secondary description. */
    description?: ReactNode;
    /**
     * Override the per-step status. When omitted, status is derived from
     * the stepper's `active` index: indices below = `complete`, equal =
     * `active`, above = `pending`.
     */
    status?: StepperStatus;
    /** Optional custom indicator node. Replaces the default number / icon. */
    indicator?: ReactNode;
    /** Disable interaction for this step. */
    disabled?: boolean;
    /**
     * Mark a step as "optional" — renders a small "Optional" hint under
     * the label. Useful for skip-able onboarding steps.
     */
    optional?: boolean;
}
export interface StepperProps extends Omit<ComponentPropsWithoutRef<"ol">, "onChange" | "onClick" | "children"> {
    /** The step definitions. */
    steps: StepperStep[];
    /** Controlled: active 0-based step index. */
    active?: number;
    /** Uncontrolled fallback when `active` is not provided. Default `0`. */
    defaultActive?: number;
    /**
     * Fires when the user activates a step (click or keyboard). Pass
     * this prop to make the stepper interactive — without it, steps are
     * pure visual indicators.
     */
    onStepChange?: (index: number) => void;
    /** Layout. Default `"horizontal"`. */
    orientation?: StepperOrientation;
    /** Visual size. Default `"md"`. */
    size?: StepperSize;
    /**
     * When true, the connector lines between steps adopt the success
     * tone for completed segments — a "filling progress bar" feel. When
     * false, connectors stay muted. Default `true`.
     */
    showProgressTrail?: boolean;
    /** Disable the entire stepper. */
    disabled?: boolean;
}
export declare const Stepper: import("react").ForwardRefExoticComponent<StepperProps & import("react").RefAttributes<HTMLOListElement>>;
//# sourceMappingURL=Stepper.d.ts.map