import TaglessComponent from './-tagless';
import StateMachine from 'ember-steps/-private/state-machine/-base';
import StepComponent from './step-manager/step';
/**
* A component for creating a set of "steps", where only one is visible at a time
*
* ```hbs
* {{#step-manager as |w|}}
* {{#w.step}}
* The first step
* {{/w.step}}
*
* {{#w.step}}
* The second step
* {{/w.step}}
*
*
* {{/step-manager}}
* ```
*
* @class StepManagerComponent
* @yield {hash} w
* @yield {Component} w.step Renders a step
* @yield {Action} w.transition-to
* @yield {Action} w.transition-to-next Render the next step
* @yield {Action} w.transition-to-previous Render the previous step
* @yield {string} w.currentStep The name of the current step
* @yield {Array} w.steps All of the step names that are currently defined, in order
* @public
* @hide
*/
export default class StepManagerComponent extends TaglessComponent {
layout: any;
/**
* Optionally can be provided to override the initial step to render
*
* @property {string} initialStep the initial step
* @public
*/
initialStep: string;
/**
* The `currentStep` property can be used for providing, or binding to, the
* name of the current step.
*
* If provided, the initial step will come from the value of this property,
* and the value will be updated whenever the step changes
*
* @property {string} currentStep the current active step
* @public
*/
currentStep: string;
/**
* @property {boolean} boolean
* @public
*/
linear: boolean;
/**
* @property {StateMachine} transitions state machine for transitions
* @private
*/
transitions: StateMachine;
constructor();
readonly hasNextStep: boolean;
readonly hasPreviousStep: boolean;
/**
* Used internally to transition to a specific named step
*
* @method doTransition
* @param {string} to the name of the step to transition to
* @param {string} from the name of the step being transitioned
* @private
*/
doTransition(to: any): void;
didUpdateAttrs(): void;
actions: {
registerStepComponent(this: StepManagerComponent, stepComponent: StepComponent): void;
removeStepComponent(this: StepManagerComponent, stepComponent: StepComponent): void;
'transition-to'(this: StepManagerComponent, to: string): void;
'transition-to-next'(this: StepManagerComponent): void;
'transition-to-previous'(this: StepManagerComponent): void;
};
}