/// <reference types="react" />
import { BaseLogicExpression } from "./BaseLogic";
import { ExpressionValue } from "../../ExpressionValue";
import { ExpressionEditContext } from "../../Utilities/ExpressionEditContext";
import { IBaseExpressionElement } from "../../Utilities/IBaseExpressionElement";
import { XExecutionData } from "../../../Common/Data/ExecutionData/XExecutionData";
import { ValidationIssue } from "../../../Common/IDesignValidationProvider";
import { ITestingContext } from "../../../Common/Testing/ITestingContext";
import { BaseTestResultData } from "../../../Common/Testing/TestResultData";
export declare const GroupedBracketedDiv: (props: {
    children?: any;
    hasChild?: boolean;
    direction?: "row" | "column";
    issue?: ValidationIssue;
}) => JSX.Element;
export declare enum GroupingType {
    AND = "and",
    OR = "or"
}
export declare class AndGroup extends BaseLogicExpression {
    readonly __type: string;
    typeOfGroup: GroupingType;
    elements: ExpressionValue[];
    getExpressionValues(): ExpressionValue[];
    getAllVariables(): string[];
    constructor();
    add(): void;
    delete(index: number): void;
    setEditContext(editContext: ExpressionEditContext, owner: IBaseExpressionElement): void;
    getTestValueColor(el: ExpressionValue, testcontext: BaseTestResultData | undefined): string | undefined;
    render(): JSX.Element;
    private renderEndOfLine;
    private addToFromAction;
    private deleteToFromAction;
    private onGroupTypeSelect;
    evaluate(data: XExecutionData, testContext: ITestingContext | undefined): any;
    getStorageData(): object;
    setStorageData(data: object): void;
}
export declare class OrGroup extends AndGroup {
    readonly __type: string;
    constructor();
    evaluate(data: XExecutionData, testContext: ITestingContext | undefined): any;
}
