/** * Filter Service * * Core filter logic for applying and managing filters. * * @since v1.26.0 */ import { type ActiveFilters, type FilterCategory, type FilterableItem, type PluginStatus } from './filter-types.js'; /** * Get plugin status for filtering */ export declare function getPluginStatus(item: FilterableItem): PluginStatus; /** * Check if item matches search query */ export declare function matchesSearch(item: FilterableItem, query: string): boolean; /** * Filter service class */ export declare class FilterService { private filters; constructor(initialFilters?: Partial); /** * Toggle a filter on/off */ toggle(category: FilterCategory, id: string): void; /** * Set filters for a category (replace) */ set(category: FilterCategory, ids: string[]): void; /** * Clear filters */ clear(category?: FilterCategory): void; /** * Set search query */ setSearchQuery(query: string): void; /** * Check if a filter is active */ isActive(category: FilterCategory, id: string): boolean; /** * Check if any filters are active */ hasActiveFilters(): boolean; /** * Get current filters */ getFilters(): ActiveFilters; /** * Apply filters to a list of items */ apply(items: T[]): T[]; /** * Get summary text for active filters */ getSummary(): string; /** * Get count of active filters */ getActiveCount(): number; /** * Serialize for storage */ serialize(): string; /** * Deserialize from storage */ deserialize(data: string): void; /** * Load from serialized data */ static fromSerialized(data: string): FilterService; } /** * Count items by status */ export declare function countByStatus(items: T[]): Map; /** * Count items by source */ export declare function countBySource(items: T[]): Map; /** * Count items by category */ export declare function countByCategory(items: T[]): Map; //# sourceMappingURL=filter-service.d.ts.map