/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 * A <a href="https://docs.opensearch.org/latest/query-dsl/compound/bool/"><code>bool</code></a> compound clause &mdash; combines sub-clauses with boolean logic.
 * @export
 * @interface BoolQuery
 */
export interface BoolQuery {
    /**
     * Sub-clauses that must all match (scored). Logical AND.
     * @type {Array<BoolQuery>}
     * @memberof BoolQuery
     */
    must?: Array<BoolQuery>;
    /**
     * Sub-clauses that should match (scored). See <code>minimum_should_match</code>.
     * @type {Array<BoolQuery>}
     * @memberof BoolQuery
     */
    should?: Array<BoolQuery>;
    /**
     * Sub-clauses that must not match (filter context, not scored).
     * @type {Array<BoolQuery>}
     * @memberof BoolQuery
     */
    must_not?: Array<BoolQuery>;
    /**
     * Sub-clauses that must all match in filter context (not scored).
     * @type {Array<BoolQuery>}
     * @memberof BoolQuery
     */
    filter?: Array<BoolQuery>;
    /**
     * Optional. How many <code>should</code> clauses must match. An integer or a percentage / formula string.
     * @type {any}
     * @memberof BoolQuery
     */
    minimum_should_match?: any | null;
    /**
     * Optional. Whether to automatically add a <code>match_all</code> when only negative clauses are present. Default <code>true</code>.
     * @type {boolean}
     * @memberof BoolQuery
     */
    adjust_pure_negative?: boolean;
    /**
     * Optional. Multiplier for the relevance score of this clause. Default <code>1.0</code>.
     * @type {number}
     * @memberof BoolQuery
     */
    boost?: number;
    /**
     * Optional. Label echoed back in matched-queries metadata.
     * @type {string}
     * @memberof BoolQuery
     */
    _name?: string;
}
/**
 * Check if a given object implements the BoolQuery interface.
 */
export declare function instanceOfBoolQuery(value: object): value is BoolQuery;
export declare function BoolQueryFromJSON(json: any): BoolQuery;
export declare function BoolQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): BoolQuery;
export declare function BoolQueryToJSON(json: any): BoolQuery;
export declare function BoolQueryToJSONTyped(value?: BoolQuery | null, ignoreDiscriminator?: boolean): any;
