import { Type } from '@nestjs/common'; import { ModuleMetadata } from '@nestjs/common/interfaces'; import { DynamoDB } from 'aws-sdk'; import { APIVersions, ConfigurationOptions } from 'aws-sdk/lib/config'; import { ConfigurationServicePlaceholders } from 'aws-sdk/lib/config_service_placeholders'; import { ModelOption, SchemaOptions } from 'dynamoose'; export interface DynamoDBClass { new (...args: any[]): any; } export interface DynamoDBClassWithOptions { modelOptions: ModelOption; dynamoDBClass: DynamoDBClass; schemaOptions: SchemaOptions; } export declare type DynamoDBInput = DynamoDBClass | DynamoDBClassWithOptions; export interface DynamoDBModuleOptions { local?: boolean; 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[]; }