import type { QueryOptions, ScanOptions } from '@aws/dynamodb-data-mapper/build/namedParameters'; import type { DataMapper, QueryIterator } from '@aws/dynamodb-data-mapper'; import type { ScanIterator } from '@aws/dynamodb-data-mapper/build/ScanIterator'; import { Class } from './utils'; import { ConditionExpression, ConditionExpressionPredicate } from '@aws/dynamodb-expressions'; import { DeleteOptions, GetOptions, ParallelScanWorkerOptions, PutOptions, UpdateOptions } from '@aws/dynamodb-data-mapper/build/namedParameters'; export declare class DynamodbRepo { Entity: T; dataMapper: DataMapper; EntityClass: Class; constructor(Entity: T, dataMapper: DataMapper); put(obj: Partial, options?: PutOptions): Promise; get(obj: Partial, options?: GetOptions): Promise; update(obj: Partial, options?: UpdateOptions): Promise; delete(obj: Partial, options?: DeleteOptions): Promise; scan(options?: ScanOptions | ParallelScanWorkerOptions): ScanIterator; query(keyCondition: ConditionExpression | { [propertyName: string]: ConditionExpressionPredicate | any; }, options?: QueryOptions): QueryIterator; batchPut(objs: Array>): AsyncIterableIterator; batchGet(objs: Array>): AsyncIterableIterator; batchDelete(objs: Array>): Promise>; createTable(): Promise; ensureTableExists(): Promise; deleteTable(): Promise; ensureTableNotExists(): Promise; }