import { type ReactNode } from "react"; import { type BreakpointKey, type StyleProp, type ViewStyle } from "../../style/index.js"; import { type StepsSkin } from "./steps.styles.js"; export interface Step { label: string; description?: string; } export interface StepsProps { /** Ordered steps to render. Each is a label with an optional one-line note. */ steps: Step[]; /** Index of the active step (CONTROLLED). Earlier steps read completed, later ones muted. Omit for uncontrolled use. */ current?: number; /** Initial active step for uncontrolled use (pressing a step, with `onStepPress`, moves it). */ defaultCurrent?: number; vertical?: boolean; /** Render a labeled percentage progress bar instead of discrete steps. */ progress?: boolean; /** * Responsive (horizontal layout only): render the EXISTING vertical layout * when the component's own CONTAINER is at or below `stackBreakpoint` * (default `sm` = 640). Container-measured with a viewport seed, mirroring * Row `stacks`. `vertical` and `progress` are unaffected (a progress bar is * already fluid). */ stacks?: boolean; /** The breakpoint at and below which `stacks` goes vertical (default `"sm"`). * Only meaningful with `stacks`. */ stackBreakpoint?: BreakpointKey; /** Progress mode only: filled fraction, 0-100 (clamped). Defaults to 0. */ value?: number; /** Progress mode only: caption shown left of the percentage. */ label?: string; /** When set, each step circle is pressable, reporting the step index. */ onStepPress?: (index: number) => void; /** E2E hook forwarded to the root element. */ testID?: string; /** Outer layout composition only (width/flex within a parent), never a restyle hook. */ style?: StyleProp; } /** Build a Steps component from a platform skin. */ export declare function createSteps(skin: StepsSkin): (props: StepsProps) => string | number | bigint | boolean | Iterable | Promise> | Iterable | null | undefined> | import("react").JSX.Element | null | undefined; //# sourceMappingURL=steps.shared.d.ts.map