/** Core */
import { CoreComponent } from "cmf.core/src/core";
/** Angular2 */
import * as ng from "@angular/core";
export interface HorizontalStepListItem {
index: number;
name: string;
subtitle?: string;
isActive: boolean;
obj: any;
}
/**
* @whatItDoes
*
* Horizontal Step List component is used to provide navigation information to the user while performing a certain task,
* including total number of steps, active steps and concluded steps.
*
* @howToUse
*
* This component is used with the inputs and outputs mentioned below.
*
* ### Inputs:
* `any` : **data** - The data collection used to populate the horizontalStepList component.
* Should be an array in which each position should have two fields : 'mainTitle' and 'isActive' field and an optional 'subtitle' field.
* `any` : **value** - The currently selected step object.
*
* ### Outputs:
* `any` : **valueChange** : The selected step change event that gets fired when a certain step is clicked by the user
* and it informs the Parent component that the current selected step has changed.
*
* ### Example
* To use the component assume this HTML template as an example:
*
* ```html
*
*
* ```
*
* @description
*
* ## HorizontalStepList Component
*
* ### Dependencies
*
* #### Components
* * _This component does not depend on any external component_
*
* #### Services
* * _This component does not depend on any service_
*
* #### Directives
*
* _This component does not depend on any directive_
*
*/
export declare class HorizontalStepList extends CoreComponent implements ng.OnInit, ng.OnChanges {
/**
* variable used to store the component's input data.
*/
data: any[];
/**
* variable used to store the component's input selected step.
*/
value: any;
/**
* The data collection used to populate the HorizontalStepList component
*/
_componentData: Array;
/**
* private variable used to store the component's input selected step.
*/
private _value;
/**
* private variable used to store the current step index and it ables to manipulate CSS classes of the steps at selected steps right
* (not done steps) and at its left (done steps)
*/
_currentIndex: number;
/**
* The selected step handler event so this component can notify the upper component that the current step has changed.
*/
notify: ng.EventEmitter;
constructor();
/**
* sets the private component data with the data passed through the component input
*/
setComponentData(): any;
/**
* When the component is initialized sets the component data
*/
ngOnInit(): void;
/**
* Whenever there is a change in the HorizontalStepList component inputs, both in 'data' or 'value' values,
* the components sets its private variables accordingly.
* @param changes
*/
ngOnChanges(changes: ng.SimpleChanges): void;
/**
* Sets the _currentIndex private variable in order to be able to manipulate the CSS classes at the selected step right (not done)
* and at its left (done)
*/
private setCurrentSelected;
/**
* onClick handler to emit a notification to its upper component that the selected step has changed.
* @param event
* @param elementToChange
*/
onClick(event: any, elementToChange: any): void;
}
export declare class HorizontalStepListModule {
}