import { IToolboxWhitelist } from '../editor/toolbox.js'; import { Editor } from '../editor/editor.js'; import { Engine } from './engine.js'; import { ChallengeBase } from './base.js'; export declare function registerChallengeEngine(id: string, engine: typeof Engine): void; export interface IChallengeData { id: string; name: string; version?: string; steps: any[]; defaultApp?: string; partsWhitelist?: IToolboxWhitelist; whitelist?: IToolboxWhitelist; flyoutMode?: boolean; } /** * A Stepp-by-step controller Code editor * [[include:challenge-widgets.md]] */ export declare class Challenge extends ChallengeBase { editor: Editor; data: IChallengeData; engine?: Engine; private subscriptions; constructor(editor: Editor, challengeData: IChallengeData); onInject(): void; reset(): void; start(): void; stop(): void; setData(data: any): void; dispose(): void; }