import { FacetFilter } from '../models/facet-filter.models'; export declare type Filter = FactSheetTypeFilter | ForAnyRelationFilter | ForFactSheetFilter | EqualsFilter | LessThanFilter | LessOrEqualFilter | GreaterThanFilter | GreaterOrEqualFilter | ContainsFilter | InFilter | CombinationFilter | FullTextFilter | PathfinderFacetFilter; export declare type CombinationFilter = AllFilter | AnyFilter | NoneFilter; export declare type CombinationFilterType = CombinationFilter['type']; export interface FactSheetTypeFilter { type: 'factSheetType'; types: string[]; } export interface ForAnyRelationFilter { type: 'forAnyRelation'; relation: string; filters: Filter[]; } export interface ForFactSheetFilter { type: 'forFactSheet'; direction: 'FROM' | 'TO'; filters: Filter[]; } export interface EqualsFilter { type: 'equals'; fieldValue: unknown; fieldName: string; path?: string; } export interface LessThanFilter { type: 'less'; fieldValue: unknown; fieldName: string; path?: string; } export interface LessOrEqualFilter { type: 'lessEqual'; fieldValue: unknown; fieldName: string; path?: string; } export interface GreaterThanFilter { type: 'greater'; fieldValue: unknown; fieldName: string; path?: string; } export interface GreaterOrEqualFilter { type: 'greaterEqual'; fieldValue: unknown; fieldName: string; path?: string; } export interface ContainsFilter { type: 'contains'; fieldValue: unknown; fieldName: string; path?: string; } export interface InFilter { type: 'in'; fieldValue: unknown[]; fieldName: string; path?: string; } export interface AllFilter { type: 'all'; filters: Filter[]; } export interface AnyFilter { type: 'any'; filters: Filter[]; } export interface NoneFilter { type: 'none'; filters: Filter[]; } export interface FullTextFilter { type: 'fullText'; text: string; } export interface PathfinderFacetFilter { type: 'pathfinderFacet'; facetFilters: FacetFilter[]; }