import { MaybeAccessor } from '@solidjs-use/shared'; import { Accessor } from 'solid-js'; interface UseStepperReturn { /** List of steps. */ steps: Accessor; /** List of step names. */ stepNames: Accessor; /** Index of the current step. */ index: Accessor; /** Current step. */ current: Accessor; /** Next step, or undefined if the current step is the last one. */ next: Accessor; /** Previous step, or undefined if the current step is the first one. */ previous: Accessor; /** Whether the current step is the first one. */ isFirst: Accessor; /** Whether the current step is the last one. */ isLast: Accessor; /** Get the step at the specified index. */ at: (index: number) => Step | undefined; /** Get a step by the specified name. */ get: (step: StepName) => Step | undefined; /** Go to the specified step. */ goTo: (step: StepName) => void; /** Go to the next step. Does nothing if the current step is the last one. */ goToNext: () => void; /** Go to the previous step. Does nothing if the current step is the previous one. */ goToPrevious: () => void; /** Go back to the given step, only if the current step is after. */ goBackTo: (step: StepName) => void; /** Checks whether the given step is the next step. */ isNext: (step: StepName) => boolean; /** Checks whether the given step is the previous step. */ isPrevious: (step: StepName) => boolean; /** Checks whether the given step is the current step. */ isCurrent: (step: StepName) => boolean; /** Checks if the current step is before the given step. */ isBefore: (step: StepName) => boolean; /** Checks if the current step is after the given step. */ isAfter: (step: StepName) => boolean; } /** * Provides helpers for building a multi-step wizard interface. * * @see https://solidjs-use.github.io/solidjs-use/core/useStepper */ declare function useStepper(steps: MaybeAccessor, initialStep?: T): UseStepperReturn; declare function useStepper>(steps: MaybeAccessor, initialStep?: keyof T): UseStepperReturn, T, T[keyof T]>; export { UseStepperReturn, useStepper };