import type { Query } from './Query'; /** * @type BoolQuery: A boolean query allows construction of full logical expression trees that are composed of other queries (usually term queries and text queries). A boolean query has three sets of clauses: - `must`, which combines as an `AND` operator. - `should`, which combines as an `OR` operator. - `must_not`, which combines as a `NOT` operator. If `must`, `mustNot`, or `should` appear in the same boolean query, they are combined logically using the `AND` operator. For example: (must-1 AND must-1 AND ...) AND (should-1 OR should-2 OR ...) AND NOT (must_not-1 OR must_not-2 OR ...) * * @property must: List of queries to be evaluated as an `AND` operator. * * @property mustNot: List of queries to be evaluated as a `NOT` operator. * * @property should: List of queries to be evaluated as an `OR` operator. * */ export type BoolQuery = { must?: Array; mustNot?: Array; should?: Array; } & { [key: string]: any; };