import React, { Component } from "react";
import { TestResultData } from "@appglue/common/dist/Common/Testing/TestResultData";
import { BaseTestResultData } from "@appglue/common/dist/Common/Testing/BaseTestResultData";
import { AsyncExecutable } from "@appglue/common/dist/Common/Execution/AsyncExecutable";
import { Executable } from "@appglue/common/dist/Common/Execution/Executable";
import { RuleExecutable } from "@appglue/common/dist/Common/Execution/RuleExecutable";
import { MultiExecutable } from "@appglue/common/dist/Common/Execution/MultiExecutable";
import { UnitTestConfiguration } from "@appglue/common/dist/Common/UnitTesting/UnitTestConfiguration";
import { FlowConfiguration } from "@appglue/common/dist/Flow/FlowConfiguration";
export declare type XExecutableTesterProps = {
    executable: RuleExecutable | AsyncExecutable | Executable | MultiExecutable | FlowConfiguration;
    builderName?: string;
    saveUnitTest?: (unitTest: UnitTestConfiguration) => void;
    startData?: object;
    getTabs?: () => {
        ui: JSX.Element;
        name: string;
    }[];
};
export declare class XExecutableTester extends Component<XExecutableTesterProps, {
    openInputLayer: boolean;
    testcontext: TestResultData;
    value: BaseTestResultData | undefined;
    data: {
        [key: string]: any;
    };
    currentView: string;
    tabs: {
        ui: JSX.Element;
        name: string;
    }[];
}> {
    constructor(props: XExecutableTesterProps);
    onStart(newdata: object | undefined): void;
    onReset(event: React.MouseEvent<HTMLButtonElement>): void;
    onSelect(selecteditem: BaseTestResultData): void;
    renderTree(): JSX.Element;
    onChangeView(_event: React.ChangeEvent<{}>, value: any): void;
    onOpenInputLayer(event: React.MouseEvent<HTMLDivElement>): void;
    render(): JSX.Element;
}
