/** * Filter evaluation functions for tasks */ import type { Task } from 'node-vikunja'; import type { FilterCondition, FilterGroup, FilterExpression } from '../../types/filters'; /** * Evaluates a filter condition against a task */ export declare function evaluateCondition(task: Task, condition: FilterCondition): boolean; /** * Evaluates comparison operators */ export declare function evaluateComparison(actual: unknown, operator: string, expected: unknown): boolean; /** * Evaluates date comparisons (supports relative dates like "now+7d") */ export declare function evaluateDateComparison(actual: string, operator: string, expected: string): boolean; /** * Parses relative date strings (e.g., "now+7d", "now-1w") */ export declare function parseRelativeDate(dateStr: string): Date | null; /** * Evaluates string comparisons */ export declare function evaluateStringComparison(actual: string, operator: string, expected: string): boolean; /** * Evaluates array comparisons (for assignees and labels) */ export declare function evaluateArrayComparison(actual: number[], operator: string, expected: number[]): boolean; /** * Evaluates a filter group against a task */ export declare function evaluateGroup(task: Task, group: FilterGroup): boolean; /** * Applies a filter expression to a list of tasks */ export declare function applyFilter(tasks: Task[], expression: FilterExpression): Task[]; //# sourceMappingURL=filters.d.ts.map