import { Comparable, Predicate } from '../../interfaces';
import { PredicatesComparable } from '../comparable';
export declare abstract class CompoundPredicate implements Predicate<PredicatesComparable, Comparable> {
    /**
     * @inheritDoc
     */
    readonly comparable: PredicatesComparable;
    /**
     * ** Constructor.
     */
    constructor(comparable: PredicatesComparable);
    constructor(...predicates: Predicate[]);
    /**
     * ** Factory method.
     */
    static of(..._args: unknown[]): CompoundPredicate;
    /**
     * @inheritDoc
     */
    abstract evaluate(value: Comparable): boolean;
}
