import { ElementRef, OnInit, DoCheck, EventEmitter, QueryList } from '@angular/core';
import { CfCoreComponent } from '../core/core.component';
import { ButtonModel } from '../../models/button/button.model';
import { WizardModel } from '../../models/wizard/wizard.model';
import { WizardStylingModel } from '../../models/wizard/wizard-styling.model';
import { CfWizardStepComponent } from '../wizard-step/wizard-step.component';
import { CfWizardFooterComponent } from '../wizard-footer/wizard-footer.component';
import { CfWizardBackComponent } from '../wizard-back/wizard-back.component';
import { CfWizardNextComponent } from '../wizard-next/wizard-next.component';
import { CfWizardFinishComponent } from '../wizard-finish/wizard-finish.component';
import { TemplateService } from '../../services/template-service/template.service';
/**
*
Wizard component based on Angular Material Tabs and Angular animations system
* Example of using:
*
* <cf-wizard [properties]="myWizard" [styling]="myWizardStyles">
* </cf-wizard>
*
*/
export declare class CfWizardComponent extends CfCoreComponent implements OnInit, DoCheck {
elementRef: ElementRef;
/**
* It is an attribute [properties] of directive cf-wizard which take WizardModel object.
* Example of model:
* {{'{'}}
* activeStepIndex: 3,
* showStepNumberAsIcon: true,
* showStepNumberAsPrefix: false,
* indexBefore: true,
* backButton: this.myPrevBtn,
* nextButton: this.myNextBtn,
* finishButton: this.myDoneBtn,
* headerPosition: 'above',
* footerPosition: 'below'
* {{'}'}}
* activeStepIndex: number
* Active step index
* showStepNumberAsIcon: boolean
* Showing step number as icon in wizard header steps buttons
* showStepNumberAsPrefix: boolean
* Showing step prefix as icon in wizard header steps buttons
* indexBefore: boolean
* Showing header step index (prefix or icon) before step label
* backButton: ButtonModel
* ButtonModel object for wizard previous button
* nextButton: ButtonModel
* ButtonModel object for wizard next button
* finishButton: ButtonModel
* ButtonModel object for wizard finish button
* headerPosition: string
* Header position: above (default), right, below, left
* footerPosition: string
* Footer position: above, right, below (default), left
*/
properties: WizardModel;
/**
* It is an attribute [styling] of directive cf-wizard which take WizardStylingModel object with next properties:
* headerSection: StylingModel
* Styling properties for wizard header container
* container: StylingModel
* Styling properties for main wizard container
* navigationSection: StylingModel
* Styling properties for wizard bottom navigation section
* backButton: ButtonStylingModel
* Styling properties for wizard previous button
* nextButton: ButtonStylingModel
* Styling properties for wizard next button
* finishButton: ButtonStylingModel
* Styling properties for wizard finish button
*/
styling: WizardStylingModel;
/**
* Active step index
*/
activeStepIndex: number;
/**
* If to show step number as icon in wizard header steps buttons.
*/
showStepNumberAsIcon: boolean;
/**
* If to show step number as prefix in wizard header steps buttons.
*/
showStepNumberAsPrefix: boolean;
/**
* If to show step number before the label.
*/
indexBefore: boolean;
/**
* Header position: above (default), right, below, left.
*/
headerPosition: string;
/**
* Footer position: above, right, below (default), left.
*/
footerPosition: string;
/**
* The ButtonModel object for wizard previous button.
*/
backButton: ButtonModel;
/**
* The ButtonModel object for wizard next button.
*/
nextButton: ButtonModel;
/**
* The ButtonModel object for wizard finish button.
*/
finishButton: ButtonModel;
/**@hidden
* It is an array of wizard steps
*/
wizardSteps: QueryList;
/**@hidden*/
wizardFooter: CfWizardFooterComponent;
/**@hidden*/
wizardBack: CfWizardBackComponent;
/**@hidden*/
wizardNext: CfWizardNextComponent;
/**@hidden*/
wizardFinish: CfWizardFinishComponent;
/**@hidden*/
private _activeStep;
/**
* @hidden
* Property which means if wizard Finish step was clicked
*/
private _isCompleted;
/**
* Output event with active step index
*/
onStepChanged: EventEmitter;
/**
* Output event on wizard work finish
*/
onComplete: EventEmitter;
/** @hidden */
constructor(elementRef: ElementRef, /**@hidden */ templateService: TemplateService);
/** @hidden */
ngOnInit(): void;
/** @hidden */
ngAfterContentInit(): void;
/**
* @hidden
* Checking changes in component properties
*/
ngDoCheck(): void;
/** @hidden
* Method to set initial state of wizard
* @param index active step index
*/
_initializeWizard(index: any): void;
/** @hidden
* Method to set active step index and emit event with it
* @param index active step index
*/
_stepChanged(index: any): void;
/** @hidden
* Method to check if it is possible to go to step which is not disabled
* @param index step index
* @param direction direction
*/
_checkPossibleStep(index: any, direction: any): void;
/**
* @hidden
* Method to go to previous step
*/
back(): void;
/**
* @hidden
* Method to go to next step
*/
next(): void;
/**
* @hidden
* Function to set wizard to completed state and emit event for that
*/
complete(): void;
/**
* @hidden
* Function for checking invalid steps and manipulate with wizard button disable states
*/
private _findInvalidStep();
/**@hidden */
private _setNavButtonsVisibility();
}