import { DynamoDB } from 'aws-sdk'; import { AbstractLevelDOWN, AbstractOpenOptions, ErrorCallback, AbstractOptions, AbstractGetOptions, ErrorValueCallback, AbstractBatch, AbstractIteratorOptions, AbstractIterator } from 'abstract-leveldown'; import { IManifest } from 'level-supports'; import * as DynamoTypes from './types'; export interface DynamoDBDownFactory { destroy: (location: string, cb: ErrorCallback) => Promise; (location: string): DynamoDbDown; } export declare class DynamoDbDown extends AbstractLevelDOWN { private hashKey; private tableName; private s3Async; private dynamoDbAsync; private s3AttachmentDefs; constructor(dynamoDb: DynamoDB, location: string, options?: DynamoDbDown.Types.Options); static factory(dynamoDb: DynamoDB, options?: DynamoDbDown.Types.Options): DynamoDBDownFactory; readonly supports: IManifest; _close(cb: ErrorCallback): Promise; _open(options: AbstractOpenOptions, cb: ErrorCallback): Promise; _put(key: any, value: any, options: AbstractOptions, cb: ErrorCallback): Promise; _get(key: any, options: AbstractGetOptions, cb: ErrorValueCallback): Promise; _del(key: any, options: AbstractOptions, cb: ErrorCallback): Promise; _batch(array: ReadonlyArray>, options: AbstractOptions, cb: ErrorCallback): Promise; _iterator(options: AbstractIteratorOptions): AbstractIterator; _getMany(keys: any[], options?: AbstractGetOptions, cb?: ErrorValueCallback): Promise; deleteTable(): Promise; } export declare namespace DynamoDbDown { export import Types = DynamoTypes; }