import { SetupSliceType } from '../../../custom-hooks/use-stepper/helpers/types';
import { ModalFooterProps } from '../ModalFooter/ModalFooter';
import { default as React } from 'react';
export type StepperStepsPosition = 'left' | ' right' | 'center';
type CommonStep<AvailableSteps extends string = string> = {
    name: AvailableSteps;
    nextDisabled?: boolean;
    nextLoading?: boolean;
    previousLoading?: boolean;
    previousDisabled?: boolean;
    footerOptions?: ModalFooterProps;
    component: React.ReactNode;
    autoNext?: boolean;
    autoBack?: boolean;
    isHidden?: boolean;
    hidePagination?: boolean;
    isIndependent?: boolean;
    padded?: boolean;
    sideComponent?: React.ReactNode;
    isContracted?: boolean;
    noMarginTop?: boolean;
};
export type Step<AvailableSteps extends string = string> = (CommonStep<AvailableSteps> & {
    sideComponent?: undefined;
    isContracted?: false;
}) | (CommonStep<AvailableSteps> & {
    sideComponent: React.ReactNode;
    isContracted: true;
});
export interface ModalStepperProps {
    steps?: Step[];
    hidePagination?: boolean;
    activeStep?: string | number;
    padding?: number;
    /**
     * @deprecated This should not be use anymore since it triggers before an actual step change
     * Remained here to support rsa
     */
    onStepChange?: (currentStep: number, name: string, step: Step) => void;
    onStepChangeName?: (currentStep: number, name: string, step: Step) => void;
    variant?: 'default' | 'bottom';
    stepperStepsPosition?: StepperStepsPosition;
    bgColor?: string;
    slice?: SetupSliceType<any>;
    scrollToTop?: boolean;
    modalBodyMode?: 'fill';
}
export declare const ModalStepper: (props: ModalStepperProps) => import("react/jsx-runtime").JSX.Element;
export {};
