import type ACDFTupleExtended from "../types/ACDFTupleExtended.mjs"; import type ProtectedItem from "../types/ProtectedItem.mjs"; import type { EvaluateFilterSettings } from "../utils/evaluateFilter.mjs"; import type { NameAndOptionalUID } from "../modules/SelectedAttributeTypes/NameAndOptionalUID.ta.mjs"; /** * @summary Discards ACDF tuples that are not related to the current authorization request. * @description * * Implementation of the algorithm outlined in ITU Recommendation X.501 (2016), * Section 18.8.3. * * ### Parameters * * @param {ACDFTupleExtended[]} tuples The tuples of inputs to the ACDF as described in * ITU Recommendation X.501, Section 18.8.2. An array of five items: * `( userClasses, authenticationLevel, protectedItems, grantsAndDenials, precedence )` * @param {ProtectedItem} request The thing that is being requested, which can * be an entry, attribute type, or attribute value. * @param {number[]} operations The bit indices of the permissions that are * being requested, divided by two. The permissions come from the definition of * `GrantsAndDenials`. For clarification, an operation of 3 indicates a request * for the remove permission. * @param {function} getEqualityMatcher A function that takes an object * identifier and returns another function (if one can be found) that can be * used to compare two values of the same attribute type. * and returns a `boolean` indicating whether the user is a member of the group. * @returns {ACDFTupleExtended[]} Only the ACDF tuples that are relevant to this * authorization request. * @function */ export declare function discardNonRelevantACDFTuples(tuples: ACDFTupleExtended[], requester: NameAndOptionalUID | undefined | null, request: ProtectedItem, operations: number[], settings: EvaluateFilterSettings): ACDFTupleExtended[]; export default discardNonRelevantACDFTuples; //# sourceMappingURL=discardNonRelevantACDFTuples.d.mts.map