/// <reference types="react" />
export interface WizardStep {
    id?: number;
    component: React.ReactNode;
    title: string;
    text: string;
    validate?: () => boolean;
    onNext?: () => void | Promise<void>;
    onPrevious?: () => void | Promise<void>;
    noNextButton?: boolean;
    removeButtons?: boolean;
}
export interface WizardProps extends React.HTMLAttributes<HTMLElement> {
    passProps?: object;
    /** Support @testing-library/react `screen.getByTestId` */
    'data-testid'?: string;
    steps: WizardStep[];
    currentStep?: number;
    onStepChange?: (step: number) => void;
    error?: string;
    nextButtonLabel?: string;
    previousButtonLabel?: string;
    onStepChanging?: (step: number) => Promise<void>;
    loading?: boolean;
    hasNextButton?: boolean;
    hideProgressBar?: boolean;
}
