import {RendererNodeData, TreeNodeComponent} from "./RendererNodeData";
import {Testable} from "./Testable";
import {WithBranch} from "./WithBranch";
import {ExportableToState} from "./ExportableToState";
import {FlowDataCreator} from "./FlowDataCreator";

export interface TestableNode<TestableType extends Testable = Testable> extends RendererNodeData, TreeNodeComponent {
    getTestable(): Testable
}

export interface TestableNodeWithBranchAndFlow<TestableType extends Testable = Testable> extends
    TestableNode<TestableType>,
    WithBranch,
    FlowDataCreator,
    ExportableToState<string>
{}
