import { jsx as _jsx } from "react/jsx-runtime";
import { BaseTestResultData } from "../../Common/Testing/TestResultData";
import { TestResultDataType } from "../../Common/Testing/TestResultDataType";
import { IntersectionRuleDesigner } from "./Components/IntersectionRuleDesigner";
import { IntersectionRuleEditContext } from "./IntersectionRuleEditContext";
export class IntersectionRuleTestResult extends BaseTestResultData {
    constructor() {
        super(...arguments);
        this.type = TestResultDataType.INTERSECTION_RULE;
    }
    set definition(definition) {
        this._definition = definition;
        if (this._definition) {
            this.editContext = new IntersectionRuleEditContext(this._definition);
        }
    }
    get definition() {
        return this._definition;
    }
    render() {
        return this.definition && this.editContext ? (_jsx(IntersectionRuleDesigner, { ruleDefinition: this.definition, editContext: this.editContext }, void 0)) : undefined;
    }
}
export class IntersectionXRuleTestResult extends BaseTestResultData {
    constructor() {
        super(...arguments);
        this.type = TestResultDataType.INTERSECTION_X_RULE;
    }
}
export class IntersectionYRuleTestResult extends BaseTestResultData {
    constructor() {
        super(...arguments);
        this.type = TestResultDataType.INTERSECTION_Y_RULE;
    }
}
//# sourceMappingURL=IntersectionRuleTestResult.js.map