import { Type } from '@angular/core'; import { WizardBuilderInterface } from './models/wizard-builder-interface'; import { WizardNavigationInterface } from './models/wizard-navigation-interface'; import { WizardNavigationSet } from './models/wizard-navigation-set'; /** * Wizard navigation information class. */ export declare class WizardNavigationInformation { static readonly NoStageNoStep = -1; private wizard; private wizardBuilder; /** * The history of navigation of stage and step. */ private history; /** * The initialization state. */ private initialized; /** * Initializes a new instance of the WizardNavigationInformation class. * * @param wizard the wizard component instance. */ constructor(wizard: WizardNavigationInterface, wizardBuilder: WizardBuilderInterface); /** * Gets the navigation history data. */ get navigationHistory(): WizardNavigationSet[]; /** * Gets the prior navigation set. */ get priorSet(): WizardNavigationSet; /** * Gets the current navigation set. */ get currentSet(): WizardNavigationSet; /** * Gets if it was Next button click. */ get wasNext(): boolean; /** * Gets if it was Back button click. */ get wasBack(): boolean; /** * Gets if it's on the last step of current stage. */ get onLastStepOfStage(): boolean; /** * Gets if it's on the last stage. */ get onLastStage(): boolean; /** * Gets if it's on last steps of last stage. */ get onLastStepOfLastStage(): boolean; /** * Set and start new history. * * @param set the new navigation set. */ resetHistory(set?: WizardNavigationSet): void; /** * Push new navigation set to the history. * * @param set the new navigation set. */ pushHistory(set: WizardNavigationSet): boolean; /** * Check how many times visited including current set. * (it shows '1' if this is the first time visit.) * * @param set current set. */ checkHistory(set?: WizardNavigationSet): number; /** * Creates a new WizardStep, and adds it to the specified WizardStage. * If the specified WizardStage does not exist, it will be created. * * @param stepName - The name for the new WizardStep. * @param stepComponentType - The componentType for the new WizardStep. * @param stageName - The name of the WizardStage in which this new WizardStep should be added. */ addStepInStage(stepName: string, stepComponentType: Type, stageName: string): void; /** * Creates a new WizardStep, and adds it to the specified WizardStage at the specified index. * If the specified WizardStage does not exist, it will be created. * * @param stepName - The name for the new WizardStep. * @param stepComponentType - The componentType for the new WizardStep. * @param stageName - The name of the WizardStage in which this new WizardStep should be added. * @param index - The step index to insert step (will increase index of existing step at given index by 1 if any) */ addStepInStageByIndex(stepName: string, stepComponentType: Type, stageName: string, index: number): void; /** * Removes WizardStep at specified index in specified stage. * If the specified stage or index does not exist, false will be returned. * * @param stageName - The name of the Wizard stage in which to remove the step. * @param index - The step index to be removed (will decrease indices of proceeding steps) * @returns - True if step is removed successfully, false otherwise. */ removeStepInStageByIndex(stageName: string, index: number): boolean; /** * Creates a new WizardStage at the specified index. * * @param stageName - The Name for the new WizardStage * @param index - The stage index to insert stage (will increase index of existing stage at given index by 1 if any) */ addStageByIndex(stageName: string, index: number): void; /** * Clears all steps from given stage. * If the specified stage does not exist, false will be returned. * * @param stageName - The name of the Wizard stage to clear steps from. * @returns - True if stage is cleared successfully, false otherwise. */ clearStage(stageName: string): boolean; }