import { BaseFlowNode, BaseFlowNodeStatic, FlowNodeOptions } from '../type';

export default abstract class Base<P = any> implements BaseFlowNode {
    static Register: Record<string, BaseFlowNodeStatic>;
    readonly option: FlowNodeOptions<P>;
    static AddNode(Node: BaseFlowNodeStatic): void;
    static Execute(option: FlowNodeOptions): Promise<void>;
    constructor(option: FlowNodeOptions<P>);
    execute(): Promise<void>;
    protected abstract _execute(): void;
}
