import { IFindTypes, IRangeFilter } from './index';
export declare class BoolBuilder {
    private _query;
    addBool(type: IFindTypes, bool: BoolBuilder): this;
    /**
     * Проверка на наличие добавленых критериев
     * @return {boolean}
     */
    isNotEmty(): boolean;
    /**
     * Указать диапазон поиска по индексу
     * @param type
     * @param field
     * @param value
     * @return {this}
     */
    addRange(type: IFindTypes, field: string, value: IRangeFilter): this;
    /**
     * Указать критерий поиска по индексу (термин, например articul = 10001)
     * @param type
     * @param field
     * @param value
     * @return {this}
     */
    addTerm(type: IFindTypes, field: string, value: number | Date | string | boolean): this;
    /**
     * Текстовый поиск
     * @param type
     * @param field
     * @param value
     * @return {this}
     */
    addMatch(type: IFindTypes, field: string, value: number | Date | string | boolean): this;
    addMatchText(type: IFindTypes, field: string, value: string): this;
    /**
     * Фраза для поиска
     * @param type
     * @param field
     * @param value
     * @return {this}
     */
    addMatchPhrase(type: IFindTypes, field: string, value: string): this;
    /**
     * Указать массив критериев поиска (аналогия выше) по индексу
     * @param type
     * @param field
     * @param values
     * @return {this}
     */
    addTermsArray(type: IFindTypes, field: string, values: string[]): this;
    build(): any;
}
