import { History } from "history"; import * as React from "react"; export interface StepObject { id: string; } export interface WizardContext { step: StepObject; steps: StepObject[]; history: History; next: () => void; previous: () => void; go: (n: number) => void; push: (id?: string) => void; replace: (id?: string) => void; } export interface WizardComponentProps { wizard: WizardContext; } export function withWizard

( component: React.ComponentType

, ): React.ComponentType

; export type WizardProps = { onNext?: ((wizard: WizardContext) => void) | undefined; history?: History | undefined; basename?: string | undefined; } & WizardContextRenderProps; export const Wizard: React.ComponentType; export type WizardContextRenderProps = | { render?: ((wizard: WizardContext) => React.ReactNode) | undefined } | { children: ((wizard: WizardContext) => React.ReactNode) | React.ReactNode }; export const WithWizard: React.ComponentType; export interface StepsProps { children: NonNullable; step?: StepObject | undefined; } export const Steps: React.ComponentType; export type StepProps = StepObject & WizardContextRenderProps; /** * In addition to id, any additional props added to will be available on each step object. * This can be used to add names, descriptions, or other metadata to each step. * To use this feature globally in your project you need to augment the StepObject * @example * declare module "react-albus" { * interface StepObject { * propName: string; * } * } */ export const Step: React.ComponentType;