import type { QueryFilter } from './QueryFilter'; import type { TermFilter } from './TermFilter'; import type { Range2Filter } from './Range2Filter'; import type { RangeFilter } from './RangeFilter'; import type { BoolFilter } from './BoolFilter'; /** * @type Filter: Contains a set of objects that define criteria used to select records. A filter can contain one of the following: * `TermFilter` - Matches records where a field (or fields) exactly matches some simple value (including `null`). * `RangeFilter` - Matches records where a field value lies within a specified range. * `Range2Filter` - Matches records in a specified range across fields. * `QueryFilter` - Matches records based on a query. * `BoolFilter` - Provides filtering of records using a set of filters combined using a logical operator. * * @property boolFilter: * * @property queryFilter: * * @property range2Filter: * * @property rangeFilter: * * @property termFilter: * */ export type Filter = { boolFilter?: BoolFilter; queryFilter?: QueryFilter; range2Filter?: Range2Filter; rangeFilter?: RangeFilter; termFilter?: TermFilter; } & { [key: string]: any; };