import React, { Component } from "react";
import { BaseTestResultData, TestResultData } from "../../Common/Testing/TestResultData";
import { XExecutionData } from "../../Common/Data/ExecutionData/XExecutionData";
import { AsyncExecutable } from "../../Common/Execution/AsyncExecutable";
import { Executable } from "../../Common/Execution/Executable";
import { RuleExecutable } from "../../Common/Execution/RuleExecutable";
export declare type XExecutableTesterProps = {
    executable: RuleExecutable | AsyncExecutable | Executable;
    getTabs?: () => {
        ui: JSX.Element;
        name: string;
    }[];
};
export declare class XExecutableTester extends Component<XExecutableTesterProps, {
    testcontext: TestResultData;
    value: BaseTestResultData | undefined;
    data: XExecutionData;
    running: boolean;
    currentView: "ui" | "logs";
}> {
    constructor(props: XExecutableTesterProps);
    onStart(newdata: XExecutionData): void;
    onReset(event: React.MouseEvent<HTMLButtonElement>): void;
    renderTree(): JSX.Element;
    onChangeView(_event: React.ChangeEvent<{}>, value: any): void;
    render(): JSX.Element;
}
