import { Component } from "react";
import { SidebarItem } from "../../CommonUI/BuilderUI/Sidebar";
import { StatementRuleEditContext } from "./StatementRuleEditContext";
import { StatementRuleConfiguration } from "@appglue/common/dist/Rule/Statement/StatementRuleConfiguration";
import { UnitTestConfiguration } from "@appglue/common/dist/Common/UnitTesting/UnitTestConfiguration";
export interface IStatementRuleEditor {
    ruleDefinition: StatementRuleConfiguration;
    statementRuleName?: string;
    onStatementRuleNameUpdate?: (newName: string) => void;
    onRuleSave?: () => void;
    onRuleCancel?: () => void;
    saveUnitTest?: (unitTest: UnitTestConfiguration) => void;
    getUnitTests?: () => Promise<UnitTestConfiguration[]>;
}
export declare class StatementRuleBuilder extends Component<IStatementRuleEditor, any> {
    editContext: StatementRuleEditContext;
    tabs: SidebarItem[];
    constructor(props: IStatementRuleEditor);
    onChangeRuleName(newName: string): void;
    getDefaultTabs(): SidebarItem[];
    render(): JSX.Element;
}
