import type { TermQuery } from './TermQuery'; import type { NestedQuery } from './NestedQuery'; import type { BoolQuery } from './BoolQuery'; import type { FilteredQuery } from './FilteredQuery'; import type { TextQuery } from './TextQuery'; /** * @type Query: A set of objects that define criteria used to select records. A query can contain one of the following: * `MatchAllQuery` - Matches all documents. * `TermQuery` - Matches one or more documents against one or more document fields. * `TextQuery` - Matches text against one or more fields. * `BoolQuery` - Allows construction of a logical expression of multiple queries. * `FilteredQuery` - Allows a filter to be applied to a query. * `NestedQuery` - Allows you to query on nested documents. - _Only supported by some Commerce APIs. For more details, see the endpoint descriptions in the API documentation._ * * @property boolQuery: * * @property filteredQuery: * * @property matchAllQuery: Matches all documents (namespace and document type). This query comes in handy if you just want to filter a search result or really do not have any constraints. * * @property nestedQuery: * * @property termQuery: * * @property textQuery: * */ export type Query = { boolQuery?: BoolQuery; filteredQuery?: FilteredQuery; matchAllQuery?: object; nestedQuery?: NestedQuery; termQuery?: TermQuery; textQuery?: TextQuery; } & { [key: string]: any; };