import { BeginsWithClause, BetweenClause, ContainsClause, EqualToClause, ExistsClause, FilterOperator, GreaterThanClause, GreaterThanEqualToClause, LessThanClause, LessThanEqualToClause, ListResult, MetadataField, NotContainsClause, NotEqualToClause, NotExistsClause, Result, Sort, StringOrNumber } from './types'; export type IndexOptions = Pick, 'partition'>; export interface IndexQueryBuilder { index(name: string, indexOptions?: IndexOptions): EntityQueryBuilder; } export interface EntityQueryBuilder { where(condition: EntityWhereClauses): this; filters(filters: AndFilter | OrFilter): this; sort(sort: Sort): this; cursor(cursor: string): this; limit(limit: number): this; getOne(): Promise | undefined>; getMany(): Promise>; } export type FilterItem = EntityFilterClauses & { property: keyof T; }; export interface Filter { and(field: keyof T, condition: EntityFilterClauses): AndFilter; or(field: keyof T, condition: EntityFilterClauses): OrFilter; } export interface AndFilter { and(field: keyof T, condition: EntityFilterClauses): this; } export interface OrFilter { or(field: keyof T, condition: EntityFilterClauses): this; } export type EntityFilterClauses = BetweenClause | BeginsWithClause | ExistsClause | NotExistsClause | GreaterThanClause | GreaterThanEqualToClause | LessThanClause | LessThanEqualToClause | ContainsClause | NotContainsClause | EqualToClause | NotEqualToClause; export type EntityWhereClauses = BetweenClause | BeginsWithClause | EqualToClause | GreaterThanClause | GreaterThanEqualToClause | LessThanClause | LessThanEqualToClause; export interface EntityQueryOptions { sort?: Sort; entityName: string; indexName: string; partition?: Array; range?: EntityWhereClauses; filters?: Array>; filterOperator?: FilterOperator; cursor?: string; limit?: number; metadataFields?: MetadataField[]; } //# sourceMappingURL=entity-query.d.ts.map