/** Angular2 */
import * as ng from "@angular/core";
/** Core */
import { CoreComponent } from "cmf.core/src/core";
/** Nested directives */
import { WizardStepDef } from "./wizardStepDef";
import { ValidatorModel } from "../../directives/validator/validator";
/** Bags */
import { WizardBag } from "../wizard/wizardBag";
import { ResultMessageBag } from "../resultMessage/resultMessageBag";
export { WizardStepDef };
/**
* The Wizard step component.
* This component represents the wrapper component for a step in the wizard. A wizard step needs validation when a new step is requested.
* The wizard step, like any other component can request a validation of all it's content components
* via the the {@link Validator} directive.
*
* ## Example
*
* Assume this HTML Template
*
* ```html
*
*
*
* ```
* Here we are telling this wizard step that when it needs to validate, it will call all methods `validateComponent1`,
* `validateComponent2` and `validateComponent3` of its sub components.
*
* Next we have the component's class
*
* ```javascript
* @Core.Component(...)
* @Core.View(...)
*
* export class MyWizardStep extends CoreComponent {
*
* constructor(@ng.Optional() @ng.Query(ng.forwardRef(() => {@link Validator})) private validatorQueryList:
* ng.QueryList<{@link Validator}>, private elementRef: ng.ElementRef) {
* }
* }
*
* ```
*/
export declare class WizardStep extends CoreComponent implements WizardStepDef, ng.OnInit, ng.OnChanges {
private validatorModel;
bag: WizardBag;
/**
* The step id (not required internally)
*
*/
id: string;
/**
* The title of the wizard step
*
*/
mainTitle: string;
/**
* The subtitle of the wizard step
*
*/
subtitle: string;
/**
* Deprecated title input
*/
title: string;
/**
* Indicates if the step is optional or not. When the step is not mandatory for finishing the flow.
*
* @property {boolean} isOptional
*/
isOptional: boolean;
/**
* If the step shouldn't even be displayed (due to context)
*
* @property {boolean} isHidden
*/
isHidden: boolean;
/**
* Indicates if the is the current one
*
* @property {boolean} isActive
*/
isActive: boolean;
/**
* Indicates if the step was already validated
*
* @property {boolean} isValidated
*/
isValidated: boolean;
/**
* When the step was already visited and the user can jump to it from previous steps
*
* @property {boolean} isValidated
*/
isVisited: boolean;
/**
* Stores all the messages that prevent this step from being validated
*
* @property {Array} resultMessages
*/
resultMessages: Array;
/**
* Custom attribute
*/
customAttribute: string;
/**
* @method constructor
*/
constructor(validatorModel: ValidatorModel, elementRef: ng.ElementRef, bag: WizardBag);
ngOnInit(): void;
/**
* Handle model changes - explicitly update bag
*/
ngOnChanges(changes: any): void;
/**
* Add a validator model to the wizard step existing validator(s).
*
* @param validatorModel Validator Model to add.
*/
addValidatorModel(validatorModel: ValidatorModel): void;
/**
* Sets the current validator model.
* This will replace the validator model of the instance.
*
* @param validatorModel Validator model to set
*/
setValidatorModel(validatorModel: ValidatorModel): void;
/**
* Step validation function
*
* @method {boolean} validate
*/
validate(actionId: string): Promise;
}
export declare class WizardStepModule {
}