import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb'; import { Constructable } from '../internal/types.mjs'; import { Repository } from './repository.mjs'; /** * Main entry point for interactions with the library. This instance should be created only once and cached afterwards. */ export declare class ODynM { private readonly client; private readonly repositories; private constructor(); /** * Creates and initializes a new instance. * * @param client The (optional) DynamoDBDocumentClient used for operations. If none is provided a default instance will be created. * @returns a newly created ODynM instance */ static readonly initialize: (client?: DynamoDBDocumentClient) => ODynM; /** * Get the repository for the given type. * * @param type the type to create the repository for * @returns the repository instance * @throws if type is not annotated with \@Item */ readonly getRepository: (type: T) => Repository; }