import { BitArray } from "@chainsafe/ssz";
export declare enum IntersectResult {
    Equal = 0,
    /** All elements in set B are in set A  */
    Superset = 1,
    /** All elements in set A are in set B  */
    Subset = 2,
    /** Set A and set B do not share any elements */
    Exclusive = 3,
    /** Set A and set B intersect but are not superset or subset */
    Intersect = 4
}
/**
 * For each byte check if a includes b,
 * | a        | b        | result        |
 * | -------- | -------- | ------------- |
 * | 00001111 | 00001111 | A equals B    |
 * | 00001111 | 00000011 | A superset B  |
 * | 00000011 | 00001111 | A subset B    |
 * | 11110000 | 00001111 | A exclude B   |
 * | 11111100 | 00111111 | A intersect B |
 *
 * For all bytes in BitArray:
 * - equals = MAYBE ONLY equals
 * - excludes = MUST ONLY equals
 * - superset = MUST superset MAYBE equal
 * - subset = MUST subset MAYBE equal
 * - intersect = any other condition
 */
export declare function intersectUint8Arrays(aUA: Uint8Array, bUA: Uint8Array): IntersectResult;
/**
 * Check if first BitArray is equal to or superset of the second
 */
export declare function isSuperSetOrEqual(superSet: BitArray, toCheck: BitArray): boolean;
//# sourceMappingURL=bitArray.d.ts.map