import { type ReadonlyStartOptions, type ReadonlyStepProps, type WorkflowStepDefinition } from "../definition"; import type { StepPropsStore, TourDirection } from "../types"; export declare class ActiveStep { readonly definition: WorkflowStepDefinition; readonly path: string; private readonly rootDocument?; readonly initialProps: ReadonlyStepProps; readonly props: StepPropsStore; readonly animated: boolean | undefined; target: HTMLElement | null; /** Shown without its target (`missingTarget.strategy: "detached"`); `target` is then the body. */ detached: boolean; /** The navigation that last brought the tour to this step. */ direction: TourDirection; constructor(definition: WorkflowStepDefinition, defaults: ReadonlyStartOptions, reportSubscriberError?: (error: unknown) => void, path?: string, rootDocument?: Document | undefined); /** * Reads `behavior.allowInteraction` live: `props.update({ behavior })` changes it while the step runs. * A detached step has no target to interact with, so it always blocks the page. */ allowsInteraction(): boolean; /** Reads `behavior.autoFocus` live: `false` hands every focus move to the page. */ autoFocuses(): boolean; /** Reads `behavior.allowScroll` live: `props.update({ behavior })` changes it while the step runs. */ allowsScroll(): boolean; /** Returns the target, or the promise to wait on when the resolver is async. */ resolveTarget(signal: AbortSignal): HTMLElement | Promise | null; /** Marks the step detached and returns the body it stands on, or `null` without a document. */ detach(): HTMLElement; snapshot(): Readonly<{ id: string; initialProps: ReadonlyStepProps; currentProps: ReadonlyStepProps; target: HTMLElement | null; }>; }