import { TableDecision } from '../TableDecision.js'; import { ValidateTestcaseModelData } from './validateModelInterface.js'; /** * Finds duplicate (double) test case definitions in the given decision table. * * This function first constructs a row model and a test case model from the table, * and then identifies duplicates by comparing the binary field values of each test case. * * @param table - The decision table model. * @returns An array of duplicate test case entries, where each entry contains the IDs * of the two duplicate test cases and the comparison result. */ export declare function findDouble(table: TableDecision): { tcId1: string; tcId2: string; result: FindDoubleCompareTestcaseResult; }[]; /** * Defines the result of comparing two test cases. * * This type maps each section row ID to either a number or an array of numbers, * representing the bitwise AND result of the field values. */ export type FindDoubleCompareTestcaseResult = Record; /** * Compares two test cases to determine if they are duplicates. * * For each field in the test case data, the function performs a bitwise AND operation. * If the result is non-zero for every field, the test cases are considered duplicates. * If field values are stored as arrays (when there are more than 30 rows), each element is compared. * * @param tc1 - The data object of the first test case. * @param tc2 - The data object of the second test case. * @returns A mapping of section row IDs to the bitwise AND results if the test cases are duplicates; * otherwise, undefined. * @throws Error if any field value is undefined. */ export declare function findDoubleCompareTestcase(tc1: ValidateTestcaseModelData, tc2: ValidateTestcaseModelData): FindDoubleCompareTestcaseResult | undefined; //# sourceMappingURL=validateDouble.d.ts.map