import { Type } from '@nestjs/common'; import { ModuleMetadata } from '@nestjs/common/interfaces'; import { DynamoDB } from 'aws-sdk'; import { APIVersions } from 'aws-sdk/lib/config'; import { ConfigurationOptions } from 'aws-sdk/lib/config-base'; import { ConfigurationServicePlaceholders } from 'aws-sdk/lib/config_service_placeholders'; import { CreateTableOptions } from '@aws/dynamodb-data-mapper'; export interface DynamoDBClass { new (...args: any[]): any; } export interface DynamoDBClassWithOptions { tableOptions: CreateTableOptions; dynamoDBClass: DynamoDBClass; } export declare type DynamoDBInput = DynamoDBClass | DynamoDBClassWithOptions; export interface DynamoDBModuleOptions { dynamoDBOptions: DynamoDB.ClientConfiguration; AWSConfig: Partial; } export interface DynamoDBOptionsFactory { createTypegooseOptions(): Promise | DynamoDBModuleOptions; } export interface DynamoDBModuleAsyncOptions extends Pick { connectionName?: string; useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | DynamoDBModuleOptions; inject?: any[]; }