///
import { WizardStepType, WizardFooterType } from './types';
import { WizardFooterProps } from './WizardFooter';
export interface WizardContextProps {
/** List of steps */
steps: WizardStepType[];
/** Current step */
activeStep: WizardStepType;
/** Footer element */
footer: React.ReactElement;
/** Close the wizard */
close: () => void;
/** Navigate to the next step */
goToNextStep: () => void | Promise;
/** Navigate to the previous step */
goToPrevStep: () => void | Promise;
/** Navigate to step by ID */
goToStepById: (id: number | string) => void;
/** Navigate to step by name */
goToStepByName: (name: string) => void;
/** Navigate to step by index */
goToStepByIndex: (index: number) => void;
/** Update the footer with any react element */
setFooter: (footer: React.ReactElement | Partial) => void;
/** Get step by ID */
getStep: (stepId: number | string) => WizardStepType;
/** Set step by ID */
setStep: (step: Pick & Partial) => void;
/** Flag indicating whether the wizard content should be focused after the onNext or onBack callbacks
* are called.
*/
shouldFocusContent: boolean;
/** Ref for main wizard content element. */
mainWrapperRef: React.RefObject;
}
export declare const WizardContext: import("react").Context;
export interface WizardContextProviderProps {
steps: WizardStepType[];
activeStepIndex: number;
footer: WizardFooterType;
children: React.ReactElement;
onNext(event: React.MouseEvent, steps: WizardStepType[]): void;
onBack(event: React.MouseEvent, steps: WizardStepType[]): void;
onClose?(event: React.MouseEvent): void;
goToStepById(steps: WizardStepType[], id: number | string): void;
goToStepByName(steps: WizardStepType[], name: string): void;
goToStepByIndex(event: React.MouseEvent | React.MouseEvent, steps: WizardStepType[], index: number): void;
shouldFocusContent: boolean;
mainWrapperRef: React.RefObject;
}
export declare const WizardContextProvider: React.FunctionComponent;
export declare const useWizardContext: () => WizardContextProps;
//# sourceMappingURL=WizardContext.d.ts.map