import { ActionMatch, LedgerFilter } from "../../../types/src"; /** * Checks if provided value matches the regex given as string. */ export declare const regexMatcher: (item: any, expression: any) => boolean; /** * Checks if provided value is in the array or object provided. */ export declare const inMatcher: (item: any, expression: any) => boolean; /** * Checks if provided value is not in the array or object provided. */ export declare const ninMatcher: (item: any, expression: any) => boolean; /** * Check if data matches the given filter. It supports * exact match and also the $in and $regex operators which * work similarly to MongoDB. The left side of the expression * is the expected value to match in dot notation, and the * right side is the filter. * * Examples: * * { 'person.name': { $regex: /ˆJ/ } } * * { 'person.lastName': { $in: ['Smith', 'Doe'] } } * * { 'person.name': 'Jhon' } * @param data Data to be checked against * @param filter Filter to be applied * @returns {boolean} true if data matches the filter */ export declare function isMatch(data: Record, filter: LedgerFilter): boolean; /** * Determines whether access rule actions are included or excluded * by evaluating a match expression against a given query expression. * * @param {Object} matchExpression - The expression used to evaluate matches. * @param {Object} actionExpression - The access rule action expression to compare. * * @returns {boolean} - Returns `true` if the match expression includes or excludes * the actions as per the query; otherwise, `false`. */ export declare function isActionMatch(matchExpression: ActionMatch, actionExpression: ActionMatch): boolean;