import { DynamoDB } from "aws-sdk"; import { QueryExpressionBuilder } from "./expressions/QueryExpressionBuilder"; import { IteratorOptions, PaginatedIteratorResults } from "./iterators/types"; import { PartitionKey, PartitionKeyAndSortKeyPrefix } from "./keys"; import { Table } from "./Table"; import { GroupedModels, TaggedModel } from "./types"; interface TableQueryConfig { db: DynamoDB.DocumentClient; table: Table; key: PartitionKey | PartitionKeyAndSortKeyPrefix; consistentRead?: boolean; } interface GSIQueryConfig { db: DynamoDB.DocumentClient; table: Table; gsiName: string; gsiKey: PartitionKey; consistentRead?: boolean; } /** Builds and executes parameters for a DynamoDB Query operation */ export declare class QueryBuilder extends QueryExpressionBuilder { private config; private scanIndexForward; private modelTags; constructor(config: TableQueryConfig | GSIQueryConfig); reverse(): this; exec(): Promise>; iterator(options?: IteratorOptions): PaginatedIteratorResults; private createQueryInput; private buildKeyConditionForTable; private buildKeyConditionForGSI; } export {}; //# sourceMappingURL=QueryBuilder.d.ts.map