[[reference-shared-types-msearch_template]]

////////
===========================================================================================================================
||                                                                                                                       ||
||                                                                                                                       ||
||                                                                                                                       ||
||        ██████╗ ███████╗ █████╗ ██████╗ ███╗   ███╗███████╗                                                            ||
||        ██╔══██╗██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝                                                            ||
||        ██████╔╝█████╗  ███████║██║  ██║██╔████╔██║█████╗                                                              ||
||        ██╔══██╗██╔══╝  ██╔══██║██║  ██║██║╚██╔╝██║██╔══╝                                                              ||
||        ██║  ██║███████╗██║  ██║██████╔╝██║ ╚═╝ ██║███████╗                                                            ||
||        ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═════╝ ╚═╝     ╚═╝╚══════╝                                                            ||
||                                                                                                                       ||
||                                                                                                                       ||
||    This file is autogenerated, DO NOT send pull requests that changes this file directly.                             ||
||    You should update the script that does the generation, which can be found in:                                      ||
||    https://github.com/elastic/elastic-client-generator-js                                                             ||
||                                                                                                                       ||
||    You can run the script with the following command:                                                                 ||
||       npm run elasticsearch -- --version <version>                                                                    ||
||                                                                                                                       ||
||                                                                                                                       ||
||                                                                                                                       ||
===========================================================================================================================
////////



== Shared MsearchTemplate types


[discrete]
[[MsearchTemplateRequest]]
=== MsearchTemplateRequest

[pass]
++++
<pre>
++++
interface MsearchTemplateRequest extends <<RequestBase>> {
  index?: <<Indices>>
  ccs_minimize_roundtrips?: boolean
  max_concurrent_searches?: <<long>>
  search_type?: <<SearchType>>
  rest_total_hits_as_int?: boolean
  typed_keys?: boolean
  search_templates?: <<MsearchTemplateRequestItem>>[]
}
[pass]
++++
</pre>
++++

[discrete]
[[MsearchTemplateRequestItem]]
=== MsearchTemplateRequestItem

[pass]
++++
<pre>
++++
type MsearchTemplateRequestItem = <<MsearchMultisearchHeader>> | <<MsearchTemplateTemplateConfig>>
[pass]
++++
</pre>
++++

[discrete]
[[MsearchTemplateResponse]]
=== MsearchTemplateResponse

[pass]
++++
<pre>
++++
type MsearchTemplateResponse<TDocument = unknown, TAggregations = Record<<<AggregateName>>, <<AggregationsAggregate>>>> = <<MsearchMultiSearchResult>><TDocument, TAggregations>
[pass]
++++
</pre>
++++

[discrete]
[[MsearchTemplateTemplateConfig]]
=== MsearchTemplateTemplateConfig

[pass]
++++
<pre>
++++
interface MsearchTemplateTemplateConfig {
  pass:[/**] @property explain If `true`, returns detailed information about score calculation as part of each hit. */
  explain?: boolean
  pass:[/**] @property id ID of the search template to use. If no source is specified, this parameter is required. */
  id?: <<Id>>
  pass:[/**] @property params Key-value pairs used to replace Mustache variables in the template. The key is the variable name. The value is the variable value. */
  params?: Record<string, any>
  pass:[/**] @property profile If `true`, the query execution is profiled. */
  profile?: boolean
  pass:[/**] @property source An inline search template. Supports the same parameters as the search API's request body. Also supports Mustache variables. If no id is specified, this parameter is required. */
  source?: string
}
[pass]
++++
</pre>
++++
