import { FactoryComponent, Attributes, Vnode } from 'mithril'; export interface WizardStep { /** Unique identifier for the step */ id?: string; /** Title of the step */ title: string; /** Optional subtitle or description */ subtitle?: string; /** Icon for the step (material icons) */ icon?: string; /** Whether this step is optional */ optional?: boolean; /** Whether this step is disabled */ disabled?: boolean; /** Custom validation function */ validate?: () => boolean | Promise; /** Content to render for this step - function that returns vnode(s) */ vnode: () => Vnode | Vnode[]; } export interface WizardAttrs extends Attributes { /** Array of wizard steps */ steps: WizardStep[]; /** Current active step index */ currentStep?: number; /** Callback when step changes */ onStepChange?: (stepIndex: number, stepId: string) => void; /** Callback when wizard is completed */ onComplete?: () => void; /** Whether to show step numbers */ showStepNumbers?: boolean; /** Whether navigation is linear (cannot skip steps) */ linear?: boolean; /** Custom class for the wizard container */ className?: string; /** Whether to show navigation buttons */ showNavigation?: boolean; /** Custom labels for navigation buttons */ labels?: { next?: string; previous?: string; complete?: string; skip?: string; optional?: string; }; /** Orientation of the stepper */ orientation?: 'horizontal' | 'vertical'; /** Whether to allow clicking on step headers to navigate */ allowHeaderNavigation?: boolean; } /** * Wizard/Stepper Component * A multi-step interface for guiding users through a process */ export declare const Wizard: FactoryComponent; /** * Simple linear stepper for forms */ export declare const Stepper: FactoryComponent>;