import { StreamProcessor } from "./StreamProcessor";
import { AbsSubMode } from "./SubMode";
import { IProcessor } from "./IProcessor";
import { InteractiveEvent } from "../../../common";
import { AppEventContext } from "../../../app";
export declare abstract class StreamMode extends AbsSubMode {
    streamProcessor: StreamProcessor[];
    locked: boolean;
    constructor(streamProcessor: StreamProcessor[], processors?: IProcessor[]);
    abstract streamEnable(event: InteractiveEvent, ctx: AppEventContext): boolean;
    canBeEnable(event: InteractiveEvent, ctx: AppEventContext): boolean;
    work(event: InteractiveEvent, ctx: AppEventContext): void;
    canBeExit(event: InteractiveEvent, ctx: AppEventContext): boolean;
    isStreaming(): boolean;
}
//# sourceMappingURL=StreamMode.d.ts.map