import { AnyObject, Field } from '@data-driven-forms/react-form-renderer'; import { NextStep } from './select-next'; export declare const DYNAMIC_WIZARD_TYPES: string[]; interface SubstepOf { name?: string; title?: string; } export interface WizardField { fields?: Field[]; name: string; title?: string; substepOf?: string | SubstepOf; nextStep?: NextStep; disableForwardJumping?: boolean; isProgressAfterSubmissionStep?: boolean; } export interface NavSchema { name: string; title?: string; substepOf?: string; substepOfTitle?: string; index: number; primary: boolean; isProgressAfterSubmissionStep?: boolean; } export interface FormOptions { getState: () => AnyObject & { values: AnyObject; }; getRegisteredFields: () => AnyObject; } export interface WizardState { loading?: boolean; activeStep: string; activeStepIndex: number; maxStepIndex: number; prevSteps: string[]; registeredFieldsHistory?: Record; navSchema?: NavSchema[]; isDynamic?: boolean; } type WizardAction = { type: 'finishLoading'; payload: { fields: WizardField[]; formOptions: FormOptions; }; } | { type: 'handleNext'; payload: { nextStep: string; formOptions: FormOptions; fields: WizardField[]; }; } | { type: 'setPrevSteps'; payload: { fields: WizardField[]; formOptions: FormOptions; }; } | { type: 'jumpToStep'; payload: { index: number; valid?: boolean; fields: WizardField[]; crossroads?: string[]; formOptions: FormOptions; }; }; export declare const findCurrentStep: (activeStep: string, fields: WizardField[]) => WizardField | undefined; declare const reducer: (state: WizardState, action: WizardAction) => WizardState; export default reducer;