import { LaraJoinPoint } from "../../LaraJoinPoint.js";
type JpFilterTypes = RegExp | ((str: string, jp?: LaraJoinPoint) => boolean) | string | boolean | number | undefined;
export type JpFilterRules = {
    [key: string]: JpFilterTypes;
};
/**
 * Filters join points according to the given rules.
 *
 * @param rules - Object where each key represents the name of a join point attribute, and the value the pattern that we will use to match against the attribute.
 * The pattern can be a string (exact match), a regex or a function that receives the attribute and returns a boolean.
 *
 * @deprecated Use the javascript .filter() method instead.
 */
export default class JpFilter {
    private rules;
    constructor(rules: JpFilterRules);
    /**
     * Filters an array of join points.
     *
     * @returns an array of the join points that pass the filter
     */
    filter($jps: LaraJoinPoint[]): LaraJoinPoint[];
    private match;
}
export {};
//# sourceMappingURL=JpFilter.d.ts.map