import * as _angular_core from '@angular/core';
import { InjectionToken, Signal } from '@angular/core';
/**
* One step in a {@link WrStepper}. Project as a child:
*
* ```html
*
* …
* …
*
* ```
*
* The stepper hides every step except the active one via a host class —
* each step still mounts once, so component state survives navigation.
*
* @see https://ngwr.dev/components/stepper
*/
declare class WrStep {
/** Header label. */
readonly label: _angular_core.InputSignal;
/** Secondary text shown under the label. */
readonly description: _angular_core.InputSignal;
/** Marks the step as optional in the header. */
readonly optional: _angular_core.InputSignalWithTransform;
/**
* Override completion state. When unset, the stepper auto-derives it
* from the active index (any step before `active` is completed).
*/
readonly completed: _angular_core.InputSignal;
/** Disables the header — also blocks header clicks. */
readonly disabled: _angular_core.InputSignalWithTransform;
/** Stepper-assigned index. Set by the parent when contentChildren updates. */
readonly _index: _angular_core.WritableSignal;
private readonly stepper;
protected readonly isActive: _angular_core.Signal;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
/**
* @license
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/thekhegay/ngwr/blob/main/LICENSE
*/
/** Surface a {@link WrStepper} provides for its child ``s. */
interface WrStepperContext {
/** Index of the currently visible step. */
readonly active: Signal;
/** Linear mode — steps after the latest completed one are locked. */
readonly linear: Signal;
}
declare const WR_STEPPER: InjectionToken;
/**
* Multi-step wizard container. Children are `` components — the
* stepper renders one numbered header per step (with connectors) and the
* body of the currently active one.
*
* Two-way bind `[(active)]` to the active step index. Set `linear="true"`
* to forbid jumping past incomplete steps.
*
* @example
* ```html
*
* …
* …
* …
*
* ```
*
* @see https://ngwr.dev/components/stepper
*/
declare class WrStepper implements WrStepperContext {
/** Index of the currently visible step. */
readonly active: _angular_core.ModelSignal;
/** Layout direction. @default 'horizontal' */
readonly orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
/** Lock steps after the latest completed one. @default false */
readonly linear: _angular_core.InputSignalWithTransform;
/**
* Drop a horizontal stepper to a vertical layout when its own box is too
* narrow for the row (a container query on its own width, not the
* viewport — so it adapts inside a narrow column or side panel). No effect
* when `orientation` is already `vertical`. @default false
*/
readonly responsive: _angular_core.InputSignalWithTransform;
protected readonly steps: _angular_core.Signal;
protected readonly classes: _angular_core.Signal;
constructor();
/** Is the step at `index` considered completed? */
protected isCompleted(index: number): boolean;
/** Is the step at `index` reachable for direct header clicks? */
protected isReachable(index: number): boolean;
protected onHeaderClick(index: number): void;
goTo(index: number): void;
next(): void;
prev(): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
export { WR_STEPPER, WrStep, WrStepper };
export type { WrStepperContext };