import React, { MutableRefObject } from 'react'; interface StepChangeData { prevStep: number; nextStep: number; prevStepData: SharedObject; } export declare type GotoStepArgs = { stepNumber: number; stepIdentifier?: never; prevStepData?: SharedObject; } | { stepNumber?: never; stepIdentifier: string; prevStepData?: SharedObject; }; export interface StepWizardProps { watermarkLogo?: JSX.Element; watermarkLogoClassName?: string; icon?: JSX.Element; title?: string | JSX.Element; subtitle?: string | JSX.Element; children: Array> | null> | React.ReactElement>; isNavMode?: boolean; className?: string; stepClassName?: string; navClassName?: string; onStepChange?: (data: StepChangeData) => void; onCompleteWizard?: (data: SharedObject | undefined) => void; initialStep?: number; } export interface StepProps { name?: string | JSX.Element; subTitle?: string | JSX.Element; identifier?: string; children?: React.ReactElement> | React.ReactNode; prevStepData?: SharedObject; currentStep?: () => number; totalSteps?: () => number; nextStep?: (prevStepData?: SharedObject) => void; previousStep?: (prevStepData?: SharedObject) => void; gotoStep?: (args: GotoStepArgs) => boolean; firstStep?: (prevStepData?: SharedObject) => void; lastStep?: (prevStepData?: SharedObject) => void; completedStep?: (step: number) => void; getCurrentStepData?: MutableRefObject SharedObject)>; } export declare function StepWizard>(props: StepWizardProps): React.ReactElement; export {};