import { AbstractDocumentQuery } from "./AbstractDocumentQuery"; import { IDocumentQuery } from "./IDocumentQuery"; import { DocumentType } from "../DocumentAbstractions"; import { InMemoryDocumentSessionOperations } from "./InMemoryDocumentSessionOperations"; import { DeclareToken } from "./Tokens/DeclareToken"; import { LoadToken } from "./Tokens/LoadToken"; import { QueryData } from "../Queries/QueryData"; import { OrderingType } from "./OrderingType"; import { SearchOperator } from "../Queries/SearchOperator"; import { QueryStatistics } from "./QueryStatistics"; import { QueryOperator } from "../Queries/QueryOperator"; import { MethodCall } from "./MethodCall"; import { WhereParams } from "./WhereParams"; import { IGroupByDocumentQuery } from "./IGroupByDocumentQuery"; import { GroupBy } from "../Queries/GroupBy"; import { SpatialCriteriaFactory } from "../Queries/Spatial/SpatialCriteriaFactory"; import { SpatialCriteria } from "../Queries/Spatial/SpatialCriteria"; import { DynamicSpatialField } from "../Queries/Spatial/DynamicSpatialField"; import { SpatialUnits, SpatialRelation } from "../Indexes/Spatial"; import { IFacetBuilder } from "../Queries/Facets/IFacetBuilder"; import { IAggregationDocumentQuery } from "../Queries/Facets/IAggregationDocumentQuery"; import { FacetBase } from "../Queries/Facets/FacetBase"; import { MoreLikeThisBase } from "../Queries/MoreLikeThis/MoreLikeThisBase"; import { IMoreLikeThisBuilderForDocumentQuery } from "../Queries/MoreLikeThis/IMoreLikeThisBuilderForDocumentQuery"; import { SuggestionBase } from "../Queries/Suggestions/SuggestionBase"; import { ISuggestionDocumentQuery } from "../Queries/Suggestions/ISuggestionDocumentQuery"; import { ISuggestionBuilder } from "../Queries/Suggestions/ISuggestionBuilder"; import { ValueCallback } from "../../Types/Callbacks"; import { QueryTimings } from "../Queries/Timings/QueryTimings"; import { Explanations } from "../Queries/Explanation/Explanations"; import { ExplanationOptions } from "../Queries/Explanation/ExplanationOptions"; import { Highlightings } from "../Queries/Highlighting/Hightlightings"; import { HighlightingParameters } from "../Queries/Highlighting/HighlightingParameters"; import { IQueryIncludeBuilder } from "./Loaders/IQueryIncludeBuilder"; import { ITimeSeriesQueryBuilder } from "../Queries/TimeSeries/ITimeSeriesQueryBuilder"; import { TimeSeriesAggregationResult } from "../Queries/TimeSeries/TimeSeriesAggregationResult"; import { TimeSeriesRawResult } from "../Queries/TimeSeries/TimeSeriesRawResult"; import { Field } from "../../Types"; import { IAbstractDocumentQueryImpl } from "./IAbstractDocumentQueryImpl"; import { ProjectionBehavior } from "../Queries/ProjectionBehavior"; import { IFilterFactory } from "../Queries/IFilterFactory"; export declare const NESTED_OBJECT_TYPES_PROJECTION_FIELD = "__PROJECTED_NESTED_OBJECT_TYPES__"; export declare class DocumentQuery extends AbstractDocumentQuery> implements IDocumentQuery, IAbstractDocumentQueryImpl { constructor(documentType: DocumentType, session: InMemoryDocumentSessionOperations, indexName: string, collectionName: string, isGroupBy: boolean); constructor(documentType: DocumentType, session: InMemoryDocumentSessionOperations, indexName: string, collectionName: string, isGroupBy: boolean, declareTokens: DeclareToken[], loadTokens: LoadToken[], fromAlias: string); constructor(documentType: DocumentType, session: InMemoryDocumentSessionOperations, indexName: string, collectionName: string, isGroupBy: boolean, declareTokens: DeclareToken[], loadTokens: LoadToken[], fromAlias: string, isProjectInto: boolean); selectFields(property: string): IDocumentQuery; selectFields(properties: string[]): IDocumentQuery; selectFields(queryData: QueryData, projectionType: DocumentType): IDocumentQuery; selectFields(property: string, projectionType: DocumentType): IDocumentQuery; selectFields(properties: string[], projectionType: DocumentType): IDocumentQuery; selectFields(property: string, projectionType: DocumentType, projectionBehavior: ProjectionBehavior): IDocumentQuery; selectFields(properties: string[], projectionType: DocumentType, projectionBehavior: ProjectionBehavior): IDocumentQuery; private _selectFieldsByProjectionType; selectTimeSeries(timeSeriesQuery: (builder: ITimeSeriesQueryBuilder) => void, projectionClass: DocumentType): IDocumentQuery; selectTimeSeries(timeSeriesQuery: (builder: ITimeSeriesQueryBuilder) => void, projectionClass: DocumentType): IDocumentQuery; distinct(): IDocumentQuery; orderByScore(): IDocumentQuery; orderByScoreDescending(): IDocumentQuery; includeExplanations(explanationsCallback: ValueCallback): IDocumentQuery; includeExplanations(options: ExplanationOptions, explanationsCallback?: ValueCallback): IDocumentQuery; timings(timings: ValueCallback): IDocumentQuery; waitForNonStaleResults(): IDocumentQuery; waitForNonStaleResults(waitTimeout: number): IDocumentQuery; addParameter(name: string, value: any): IDocumentQuery; addOrder(fieldName: Field, descending: boolean): IDocumentQuery; addOrder(fieldName: Field, descending: boolean, ordering: OrderingType): IDocumentQuery; openSubclause(): IDocumentQuery; closeSubclause(): IDocumentQuery; negateNext(): IDocumentQuery; search(fieldName: Field, searchTerms: string): IDocumentQuery; search(fieldName: Field, searchTerms: string, operator: SearchOperator): IDocumentQuery; intersect(): IDocumentQuery; containsAny(fieldName: Field, values: any[]): IDocumentQuery; containsAll(fieldName: Field, values: any): IDocumentQuery; statistics(stats: (stats: QueryStatistics) => void): IDocumentQuery; usingDefaultOperator(queryOperator: QueryOperator): IDocumentQuery; noTracking(): IDocumentQuery; noCaching(): IDocumentQuery; include(path: string): IDocumentQuery; include(includes: (includeBuilder: IQueryIncludeBuilder) => void): IDocumentQuery; not(): IDocumentQuery; take(count: number): IDocumentQuery; skip(count: number): IDocumentQuery; whereLucene(fieldName: Field, whereClause: string): IDocumentQuery; whereLucene(fieldName: Field, whereClause: string, exact: boolean): IDocumentQuery; whereEquals(fieldName: Field, method: MethodCall): IDocumentQuery; whereEquals(fieldName: Field, method: MethodCall, exact: boolean): IDocumentQuery; whereEquals(fieldName: Field, value: any): void; whereEquals(fieldName: Field, value: any, exact: boolean): IDocumentQuery; whereEquals(whereParams: WhereParams): IDocumentQuery; whereNotEquals(fieldName: Field, method: MethodCall): IDocumentQuery; whereNotEquals(fieldName: Field, method: MethodCall, exact: boolean): IDocumentQuery; whereNotEquals(fieldName: Field, value: any): void; whereNotEquals(fieldName: Field, value: any, exact: boolean): IDocumentQuery; whereNotEquals(whereParams: WhereParams): IDocumentQuery; whereIn(fieldName: Field, values: any[]): IDocumentQuery; whereIn(fieldName: Field, values: any[], exact: boolean): IDocumentQuery; whereStartsWith(fieldName: Field, value: any): IDocumentQuery; whereStartsWith(fieldName: Field, value: any, exact: boolean): IDocumentQuery; whereEndsWith(fieldName: Field, value: any): IDocumentQuery; whereEndsWith(fieldName: Field, value: any, exact: boolean): IDocumentQuery; whereBetween(fieldName: Field, start: any, end: any): IDocumentQuery; whereBetween(fieldName: Field, start: any, end: any, exact: boolean): IDocumentQuery; whereGreaterThan(fieldName: Field, value: any): IDocumentQuery; whereGreaterThan(fieldName: Field, value: any, exact: boolean): IDocumentQuery; whereGreaterThanOrEqual(fieldName: Field, value: any): IDocumentQuery; whereGreaterThanOrEqual(fieldName: Field, value: any, exact: boolean): IDocumentQuery; whereLessThan(fieldName: Field, value: any): IDocumentQuery; whereLessThan(fieldName: Field, value: any, exact: boolean): IDocumentQuery; whereLessThanOrEqual(fieldName: Field, value: any): IDocumentQuery; whereLessThanOrEqual(fieldName: Field, value: any, exact: boolean): IDocumentQuery; whereExists(fieldName: Field): IDocumentQuery; whereRegex(fieldName: Field, pattern: string): IDocumentQuery; andAlso(): IDocumentQuery; andAlso(wrapPreviousQueryClauses: boolean): IDocumentQuery; orElse(): IDocumentQuery; boost(boost: number): IDocumentQuery; fuzzy(fuzzy: number): IDocumentQuery; proximity(proximity: number): IDocumentQuery; randomOrdering(): IDocumentQuery; randomOrdering(seed: string): IDocumentQuery; groupBy(fieldName: Field, ...fieldNames: string[]): IGroupByDocumentQuery; groupBy(field: GroupBy, ...fields: GroupBy[]): IGroupByDocumentQuery; ofType(tResultClass: DocumentType): IDocumentQuery; orderBy(field: Field): IDocumentQuery; orderBy(field: Field, ordering: OrderingType): IDocumentQuery; orderBy(field: Field, options: { sorterName: string; }): IDocumentQuery; orderByDescending(field: Field): IDocumentQuery; orderByDescending(field: Field, ordering: OrderingType): IDocumentQuery; orderByDescending(field: Field, options: { sorterName: string; }): IDocumentQuery; createDocumentQueryInternal(resultClass: DocumentType): DocumentQuery; createDocumentQueryInternal(resultClass: DocumentType, queryData: QueryData): DocumentQuery; aggregateBy(builder: (facetBuilder: IFacetBuilder) => void): IAggregationDocumentQuery; aggregateBy(facet: FacetBase): IAggregationDocumentQuery; aggregateBy(...facets: FacetBase[]): IAggregationDocumentQuery; aggregateUsing(facetSetupDocumentId: string): IAggregationDocumentQuery; highlight(parameters: HighlightingParameters, hightlightingsCallback: ValueCallback): IDocumentQuery; spatial(fieldName: Field, clause: (factory: SpatialCriteriaFactory) => SpatialCriteria): IDocumentQuery; spatial(field: DynamicSpatialField, clause: (factory: SpatialCriteriaFactory) => SpatialCriteria): IDocumentQuery; withinRadiusOf(fieldName: Field, radius: number, latitude: number, longitude: number): IDocumentQuery; withinRadiusOf(fieldName: Field, radius: number, latitude: number, longitude: number, radiusUnits: SpatialUnits): IDocumentQuery; withinRadiusOf(fieldName: Field, radius: number, latitude: number, longitude: number, radiusUnits: SpatialUnits, distanceErrorPct: number): IDocumentQuery; relatesToShape(fieldName: Field, shapeWkt: string, relation: SpatialRelation): IDocumentQuery; relatesToShape(fieldName: Field, shapeWkt: string, relation: SpatialRelation, distanceErrorPct: number): IDocumentQuery; relatesToShape(fieldName: Field, shapeWkt: string, relation: SpatialRelation, units: SpatialUnits, distanceErrorPct: number): IDocumentQuery; orderByDistance(field: DynamicSpatialField, latitude: number, longitude: number): IDocumentQuery; orderByDistance(field: DynamicSpatialField, shapeWkt: string): IDocumentQuery; orderByDistance(fieldName: Field, latitude: number, longitude: number): IDocumentQuery; orderByDistance(fieldName: Field, latitude: number, longitude: number, roundFactor: number): IDocumentQuery; orderByDistance(fieldName: Field, shapeWkt: string): IDocumentQuery; orderByDistanceDescending(field: DynamicSpatialField, latitude: number, longitude: number): IDocumentQuery; orderByDistanceDescending(field: DynamicSpatialField, shapeWkt: string): IDocumentQuery; orderByDistanceDescending(fieldName: Field, latitude: number, longitude: number): IDocumentQuery; orderByDistanceDescending(fieldName: Field, latitude: number, longitude: number, roundFactor: number): IDocumentQuery; orderByDistanceDescending(fieldName: Field, shapeWkt: string): IDocumentQuery; moreLikeThis(builder: (moreLikeThisBuilder: IMoreLikeThisBuilderForDocumentQuery) => void): IDocumentQuery; moreLikeThis(moreLikeThis: MoreLikeThisBase): IDocumentQuery; suggestUsing(suggestion: SuggestionBase): ISuggestionDocumentQuery; suggestUsing(action: (builder: ISuggestionBuilder) => void): ISuggestionDocumentQuery; filter(builder: (factory: IFilterFactory) => void, limit?: number): IDocumentQuery; }