import { AbsSubMode } from "./SubMode";
import { InteractiveEvent } from "../../../common/interact/InteractiveEvent";
import { AppEventContext } from "../../../app/AppEventContext";
export declare abstract class AbsMainMode {
    currentSubMode: AbsSubMode;
    subModes: AbsSubMode[];
    protected constructor(subModes: AbsSubMode[]);
    abstract canBeEnable(event: InteractiveEvent, ctx: AppEventContext): boolean;
    canBeExit(event: InteractiveEvent, ctx: AppEventContext): boolean;
    /** 当前模式执行之后判断要不要退出该模式 */
    work(event: InteractiveEvent, ctx: AppEventContext): void;
    detect(event: InteractiveEvent, ctx: AppEventContext): void;
}
//# sourceMappingURL=MainMode.d.ts.map