import React from 'react';
type Step = {
    complete?: boolean;
    error?: boolean;
    label: string;
};
type StepperContextValue = {
    activeStepIndex: number;
    addStep: (newStep: Step) => void;
    navigateNextDisabled?: boolean;
    navigatePreviousDisabled?: boolean;
    removeStep: (stepToRemove: Step) => void;
    setActiveStep: ({ index, label }: {
        index: number;
        label: string;
    }) => void;
    steps: Step[];
    updateStep: (index: number, step: Step) => void;
};
interface StepperContextProviderProps {
    children: React.ReactNode;
    navigateNextDisabled?: boolean;
    navigatePreviousDisabled?: boolean;
    onStepChange?: ({ previous, next, }: {
        previous: {
            index: number;
            label: string;
        };
        next: {
            index: number;
            label: string;
        };
    }) => boolean | Promise<boolean>;
}
export declare function StepperContextProvider({ children, navigateNextDisabled, navigatePreviousDisabled, onStepChange, }: StepperContextProviderProps): React.JSX.Element;
export declare function useStepperContext(): StepperContextValue;
export {};
