import { IDocumentQueryBase } from "./IDocumentQueryBase"; import { IQueryBase } from "./IQueryBase"; import { SearchOperator } from "../Queries/SearchOperator"; import { MethodCall } from "./MethodCall"; import { WhereParams } from "./WhereParams"; import { SpatialUnits, SpatialRelation } from "../Indexes/Spatial"; import { SpatialCriteria } from "../Queries/Spatial/SpatialCriteria"; import { SpatialCriteriaFactory } from "../Queries/Spatial/SpatialCriteriaFactory"; import { IDocumentQuery } from "./IDocumentQuery"; import { DynamicSpatialField } from "../Queries/Spatial/DynamicSpatialField"; import { MoreLikeThisBase } from "../Queries/MoreLikeThis/MoreLikeThisBase"; import { Field } from "../../Types"; export interface IFilterDocumentQueryBase> extends IQueryBase { not(): TSelf; andAlso(): TSelf; andAlso(wrapPreviousQueryClauses: boolean): TSelf; closeSubclause(): TSelf; containsAll(fieldName: Field, values: any[]): TSelf; containsAny(fieldName: Field, values: any[]): TSelf; negateNext(): TSelf; openSubclause(): TSelf; orElse(): TSelf; search(fieldName: Field, searchTerms: string): TSelf; search(fieldName: Field, searchTerms: string, operator: SearchOperator): TSelf; whereLucene(fieldName: Field, whereClause: string): TSelf; whereLucene(fieldName: Field, whereClause: string, exact: boolean): TSelf; whereBetween(fieldName: Field, start: any, end: any): TSelf; whereBetween(fieldName: Field, start: any, end: any, exact: boolean): TSelf; whereEndsWith(fieldName: Field, value: any): TSelf; whereEndsWith(fieldName: Field, value: any, exact: boolean): TSelf; whereEquals(fieldName: Field, value: any): TSelf; whereEquals(fieldName: Field, value: any, exact: boolean): TSelf; whereEquals(fieldName: Field, method: MethodCall): TSelf; whereEquals(fieldName: Field, method: MethodCall, exact: boolean): TSelf; whereEquals(whereParams: WhereParams): TSelf; whereNotEquals(fieldName: Field, value: any): TSelf; whereNotEquals(fieldName: Field, value: any, exact: boolean): TSelf; whereNotEquals(fieldName: Field, method: MethodCall): TSelf; whereNotEquals(fieldName: Field, method: MethodCall, exact: boolean): TSelf; whereNotEquals(whereParams: WhereParams): TSelf; whereGreaterThan(fieldName: Field, value: any): TSelf; whereGreaterThan(fieldName: Field, value: any, exact: boolean): TSelf; whereGreaterThanOrEqual(fieldName: Field, value: any): TSelf; whereGreaterThanOrEqual(fieldName: Field, value: any, exact: boolean): TSelf; whereIn(fieldName: Field, values: any[]): TSelf; whereIn(fieldName: Field, values: any[], exact: boolean): TSelf; whereLessThan(fieldName: Field, value: any): TSelf; whereLessThan(fieldName: Field, value: any, exact: boolean): TSelf; whereLessThanOrEqual(fieldName: Field, value: any): TSelf; whereLessThanOrEqual(fieldName: Field, value: any, exact: boolean): TSelf; whereStartsWith(fieldName: Field, value: any): TSelf; whereStartsWith(fieldName: Field, value: any, exact: boolean): TSelf; whereExists(fieldName: Field): TSelf; whereRegex(fieldName: Field, pattern: string): TSelf; withinRadiusOf(fieldName: Field, radius: number, latitude: number, longitude: number): TSelf; withinRadiusOf(fieldName: Field, radius: number, latitude: number, longitude: number, radiusUnits: SpatialUnits): TSelf; withinRadiusOf(fieldName: Field, radius: number, latitude: number, longitude: number, radiusUnits: SpatialUnits, distanceErrorPct: number): TSelf; relatesToShape(fieldName: Field, shapeWkt: string, relation: SpatialRelation): TSelf; relatesToShape(fieldName: Field, shapeWkt: string, relation: SpatialRelation, distanceErrorPct: number): TSelf; relatesToShape(fieldName: Field, shapeWkt: string, relation: SpatialRelation, units: SpatialUnits, distanceErrorPct: number): TSelf; spatial(fieldName: Field, clause: (spatialCriteriaFactory: SpatialCriteriaFactory) => SpatialCriteria): IDocumentQuery; spatial(field: DynamicSpatialField, clause: (spatialCriteriaFactory: SpatialCriteriaFactory) => SpatialCriteria): IDocumentQuery; moreLikeThis(moreLikeThis: MoreLikeThisBase): IDocumentQuery; }