import { AxiosInstance, AxiosResponse } from 'axios'; import { AnyObject } from '../../types'; import { DocumentType } from '../documents'; import { IBm25, IGroup, IGroupBy, IHybrid, INearObject, INearText, INearVector, SortType, WhereOperators } from '../filters'; import { INearImage } from '../filters/interfaces/NearImage.interface'; import { DocumentFilterType } from '../filters/types'; import { WhereParamsAdapter } from './adapters'; import { QueryBuilderOptions } from './interfaces'; export declare class QueryBuilder { protected query: AnyObject; protected queryType: string; protected documentType: DocumentType; protected httpClient: AxiosInstance; protected whereParamsAdapter: WhereParamsAdapter; protected selectedFields: {}; protected additionalFields: {}; constructor({ httpClient, queryType, documentType }: QueryBuilderOptions); where(this: TThis, params: DocumentFilterType): TThis; where(this: TThis, callback: DocumentFilterType | ((operator: WhereOperators>) => DocumentFilterType | ReturnType>['And'] | WhereOperators>['Or']>)): TThis; bm25(this: TThis, params: IBm25): TThis; bm25(this: TThis, query: IBm25['query'], properties?: IBm25['properties']): TThis; group(this: TThis, params: IGroup): TThis; group(this: TThis, force: IGroup['force'], type?: IGroup['type']): TThis; groupBy(this: TThis, params: IGroupBy): TThis; groupBy(this: TThis, path: IGroupBy['path'], groups?: IGroupBy['groups'], objectsPerGroup?: IGroupBy['objectsPerGroup']): TThis; hybrid(this: TThis, params: IHybrid): TThis; hybrid(this: TThis, query: IHybrid['query'], properties?: IHybrid['properties'], alpha?: IHybrid['alpha']): TThis; nearText(this: TThis, params: INearText): TThis; nearText(this: TThis, concepts: INearText['concepts'], distance?: INearText['distance']): TThis; nearImage(this: TThis, params: INearImage): TThis; nearImage(this: TThis, image: INearImage['image'], distance?: INearImage['distance']): TThis; nearObject(this: TThis, params: INearObject): TThis; nearObject(this: TThis, id: INearObject['id'], distance?: INearObject['distance']): TThis; nearVector(this: TThis, params: INearVector): TThis; sort(this: TThis, path: string | string[], order: keyof typeof SortType): TThis; limit(this: TThis, limit: number): TThis; offset(this: TThis, offset: number): TThis; getGraphQuery({ pretty }?: { pretty: boolean; }): string; getJsonQuery(): { [x: string]: { [x: string]: AnyObject; }; }; exec: () => Promise>; protected _resolveResData: (res: AxiosResponse) => AxiosResponse; protected resolveResData: (res: AxiosResponse) => { payload: any; }; protected removeSearchOperators(): void; } //# sourceMappingURL=QueryBuilder.d.ts.map