/// <reference path="../../../../src/@types/@kano/common/index.d.ts" />
import { EventEmitter } from '@kano/common/index.js';
import { Editor } from '../editor/editor.js';
export declare abstract class ChallengeBase {
    protected editor: Editor;
    data?: any;
    protected _onDidEnd: EventEmitter<void>;
    readonly onDidEnd: import("@kano/common/index.js").IEvent<void>;
    protected _onDidRequestShare: EventEmitter<void>;
    readonly onDidRequestShare: import("@kano/common/index.js").IEvent<void>;
    protected _onDidRequestNextChallenge: EventEmitter<void>;
    readonly onDidRequestNextChallenge: import("@kano/common/index.js").IEvent<void>;
    constructor(editor: Editor);
    setData(data: any): void;
    abstract start(): void;
}
