///
import ChallengeEngine from 'challenge-engine/definition.js';
import Editor from '../editor/editor.js';
import { IEditorWidget } from '../editor/widget/widget.js';
import { IDisposable, EventEmitter } from '@kano/common/index.js';
import { IStepHelper } from './helper.js';
export declare class Engine extends ChallengeEngine {
protected editor: Editor;
widgets: Map;
protected subscriptions: IDisposable[];
protected helpers: IStepHelper[];
protected stepHelpers: IStepHelper[];
stepsMappings: Map;
protected aliases: IDisposable[];
protected _onDidRequestNextChallenge: EventEmitter;
readonly onDidRequestNextChallenge: import("@kano/common/index.js").IEvent;
private _onDidUpdateStepIndex;
readonly onDidUpdateStepIndex: import("@kano/common/index.js").IEvent;
constructor(editor: Editor);
_updateStep(): void;
onEnd(): void;
registerAlias(alias: string, target: string): void;
registerHelper(helper: IStepHelper): void;
getExpandedStepIndex(sourceIndex: number): number;
_expandStepsWithMappings(): {
steps: any;
mappings: Map;
};
dispose(): void;
}