import { Module, PisellCore, ModuleOptions } from '../../types';
import { BaseModule } from '../BaseModule';
import { IStep, IStepModuleAPI } from './tyeps';
export declare class StepModule extends BaseModule implements Module, IStepModuleAPI {
    protected defaultName: string;
    protected defaultVersion: string;
    private store;
    private cacheId;
    private openCache;
    private fatherModule;
    constructor(name?: string, version?: string);
    initialize(core: PisellCore, options: ModuleOptions): Promise<void>;
    init(steps: IStep[]): void;
    private setSteps;
    private setCurrentStep;
    getStepList(): IStep[];
    getCurrentStep(): IStep;
    getCurrentStepIndex(): number;
    /**
     * 上一个步骤
     */
    prevStep(): void;
    /**
     * 下一个步骤
     */
    nextStep(): void;
    /**
     * 跳转到指定步骤
     * @param stepIndex 步骤的 index
     */
    gotoStep(stepIndex: number): void;
    /**
     * 添加步骤
     * @param step 步骤
     * @param key 步骤的 key，如果存在则插入到该步骤之后，否则插入到当前步骤之后
     */
    addStep(step: IStep, key?: string): void;
    /**
     * 删除步骤
     * @param key 步骤的 key
     */
    removeStep(key: string): void;
    /**
     * 更新步骤
     * @param key 步骤的 key
     * @param step 步骤
     */
    updateStep(key: string, step: IStep): void;
    storeChange(): void;
}
