/** * @type Range2Filter: Allows you to restrict a search result to hits where a range defined by specified attributes has a certain relationship to a specified range. The first range (R1) is defined by a pair of attributes (`fromField` and `toField`) that specify the extent of a range, such as attributes `validFrom` and `validTo`. The second range (R2) is defined by `fromValue` and `toValue`. The filter mode specifies the method used to compare the two ranges: * `overlap`: R1 overlaps fully or partially with R2. * `containing`: R1 contains R2. * `contained`: R1 is contained in R2. The range filter supports several value types, and relies on the natural sorting of the value type for range interpretation. Value ranges can be open-ended, but only at one end of the range. You can configure whether the lower bounds and upper bounds are inclusive or exclusive. A range 2 filter is useful for general restrictions that can be shared between searches (like a static date range) because the filter result is cached in memory. Range filters are not appropriate if the range is expected to be different for every query (for example, if the user controls the date range down to the hour via a UI control). Range filters are inclusive by default. * * @property filterMode: Compare mode: overlap, containing, or contained. * * @property fromField: The field name of the field that starts the first range. * - **Max Length:** 260 * * @property fromInclusive: A flag indicating if the lower bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. * * @property fromValue: The lower bound of the second range. If not specified, the range is open-ended with respect to the lower bound. You can\'t leave both the lower and upper bounds open-ended. * * @property toField: The field name of the field that ends the first range. * - **Max Length:** 260 * * @property toInclusive: A flag indicating if the upper bound of the second range is inclusive. To make the lower bound exclusive, set to `false`. * * @property toValue: The upper bound of the second range. If not specified, the range is open-ended with respect to the upper bound. You can\'t leave both the upper and lower bounds open-ended. * */ export type Range2Filter = { filterMode?: Range2FilterFilterModeEnum; fromField: string; fromInclusive?: boolean; fromValue?: any | null; toField: string; toInclusive?: boolean; toValue?: any | null; } & { [key: string]: any; }; export type Range2FilterFilterModeEnum = 'overlap' | 'containing' | 'contained';