import './Symbol.asyncIterator'; import { Schema } from 'tdv'; import AWS from 'aws-sdk'; import { DocumentClient } from 'aws-sdk/clients/dynamodb'; export declare const $put: unique symbol; export declare const $get: unique symbol; export declare const $query: unique symbol; export declare const $scan: unique symbol; export declare const $update: unique symbol; export declare const $delete: unique symbol; export declare const $batchGet: unique symbol; export declare const $batchWrite: unique symbol; export declare class Database extends Schema { static AWS: typeof AWS; static ddb: AWS.DynamoDB; static client: AWS.DynamoDB.DocumentClient; static local(endpoint?: string): void; static readonly tableName: string; static readonly hashKey: string; static readonly rangeKey: string; static readonly globalIndexes: { [name: string]: { hashKey: string; rangeKey: string; }; }; static readonly localIndexes: { [name: string]: { rangeKey: string; }; }; private static getIndexes; static [$batchGet]: (this: DatabaseStatic, params: AWS.DynamoDB.DocumentClient.BatchGetItemInput) => AsyncIterableIterator; static [$batchWrite]: (this: DatabaseStatic, params: AWS.DynamoDB.DocumentClient.BatchWriteItemInput) => AsyncIterableIterator; static [$put](params: Partial): Promise; static [$get](params: Partial): Promise; static [$query]: (this: DatabaseStatic, params: Partial) => AsyncIterableIterator; static [$scan]: (this: DatabaseStatic, params: Partial) => AsyncIterableIterator; static [$update](params: Partial): Promise; static [$delete](params: Partial): Promise; ['constructor']: DatabaseStatic; getKey(indexName?: string): any; } export declare type DatabaseStatic = typeof Schema & typeof Database & { new (...args: any[]): T; };