import { CommentFilterSettings } from '../pdfviewer';
/**
 * @hidden
 * Represents the return value of buildFilterPredicates().
 * Contains two predicates for filtering annotations.
 */
export interface FilterPredicates {
    /**
     * Predicate for comment panel filtering.
     * Includes reply thread logic for author filtering.
     */
    commentPredicate: (annotation: any) => boolean;
    /**
     * Predicate for document annotation rendering.
     * Simpler logic, no thread evaluation.
     */
    documentPredicate: (annotation: any) => boolean;
}
/**
 * @hidden
 * Builds filter predicates from a filter settings object.
 *
 * Returns two predicates:
 * 1. commentPredicate: For comment panel filtering (includes reply logic)
 * 2. documentPredicate: For document annotation filtering
 *
 * Both predicates are stateless, O(1) functions.
 *
 * @param {CommentFilterSettings} settings - Filter criteria
 * @returns {FilterPredicates} Object containing commentPredicate and documentPredicate
 */
export declare function buildFilterPredicates(settings: CommentFilterSettings): FilterPredicates;
/**
 * @hidden
 * Helper function to check if a filter is empty (no criteria set).
 * Used to determine if filtering is active.
 *
 * @param {CommentFilterSettings} settings - Filter settings to check
 * @returns {boolean} true if filter has no criteria, false otherwise
 */
export declare function isFilterEmpty(settings: CommentFilterSettings | null | undefined): boolean;
