import { DynamoDB } from 'aws-sdk'; import { DocumentClient } from 'aws-sdk/clients/dynamodb'; import { Model } from './model'; import { MultiReadOperate, OperateOptions } from './operate'; export declare class Query extends MultiReadOperate implements AsyncIterable { protected options: QueryOptions; constructor(options?: QueryOptions); where(key: string): { eq: (val?: {}) => T; lt: (val?: {}) => T; lte: (val?: {}) => T; gt: (val?: {}) => T; gte: (val?: {}) => T; between: (val?: [string, string]) => T; begins: (val?: string) => T; }; one(): Query; sort(order?: boolean | 1 | -1 | 'asc' | 'desc'): this; inspect(): { Query: {}; }; toJSON(): DynamoDB.DocumentClient.QueryInput; count(): Promise; then(onfulfilled?: (value?: R) => TRes | PromiseLike, onrejected?: (reason: any) => TRes | PromiseLike): Promise; [Symbol.asyncIterator]: (this: Query) => AsyncIterableIterator; } export interface QueryOptions extends Pick, 'Model' | 'logic' | 'leaf' | 'keyExprs' | 'filterExprs' | 'projExprs' | 'names' | 'values'>, Partial { one?: boolean; }