import React from 'react';
export interface StepData {
    /**
     * Unique identifier for the step
     */
    id: string;
    /**
     * Step label
     */
    label: string;
    /**
     * Optional description
     */
    description?: string;
    /**
     * Step content (for vertical stepper)
     */
    content?: React.ReactNode;
    /**
     * Custom icon for the step
     */
    icon?: React.ReactNode;
    /**
     * Whether the step is optional
     */
    optional?: boolean;
    /**
     * Whether the step has an error
     */
    error?: boolean;
    /**
     * Whether the step is disabled
     */
    disabled?: boolean;
    /**
     * Color variant for the step
     */
    color?: 'primary' | 'secondary' | 'success' | 'warning' | 'error';
}
export interface StepperProps {
    /**
     * Array of step data
     */
    steps: StepData[];
    /**
     * Current active step (0-based)
     */
    activeStep: number;
    /**
     * Callback fired when a step is clicked (for non-linear steppers)
     */
    onStepClick?: (step: number) => void;
    /**
     * Stepper orientation
     */
    orientation?: 'horizontal' | 'vertical';
    /**
     * Visual variant
     */
    variant?: 'default' | 'outlined' | 'compact';
    /**
     * Whether the stepper is non-linear (allows clicking on any step)
     */
    nonLinear?: boolean;
    /**
     * Whether to show progress indicator
     */
    showProgress?: boolean;
    /**
     * Alternative stepper type
     */
    alternativeLabel?: boolean;
    /**
     * Custom connector component
     */
    connector?: React.ReactElement;
    /**
     * Whether to animate step transitions
     */
    animated?: boolean;
}
export interface StepperControlsProps {
    /**
     * Current active step
     */
    activeStep: number;
    /**
     * Total number of steps
     */
    totalSteps: number;
    /**
     * Callback fired when next button is clicked
     */
    onNext?: () => void;
    /**
     * Callback fired when back button is clicked
     */
    onBack?: () => void;
    /**
     * Callback fired when reset button is clicked
     */
    onReset?: () => void;
    /**
     * Whether the next button is disabled
     */
    nextDisabled?: boolean;
    /**
     * Whether the back button is disabled
     */
    backDisabled?: boolean;
    /**
     * Custom labels
     */
    labels?: {
        next?: string;
        back?: string;
        finish?: string;
        reset?: string;
    };
    /**
     * Whether to show reset button when completed
     */
    showReset?: boolean;
}
export declare const Stepper: React.FC<StepperProps>;
export declare const StepperControls: React.FC<StepperControlsProps>;
//# sourceMappingURL=Stepper.d.ts.map