import { OnModuleInit, OnModuleDestroy } from '@nestjs/common';
import { Db, Collection, ClientSession } from 'mongodb';
import { DatabaseConnectionOptions } from '../../interfaces/database.interfaces';
export declare class MongodbService implements OnModuleInit, OnModuleDestroy {
    private options;
    private readonly logger;
    private client;
    private db;
    private collections;
    constructor(options: DatabaseConnectionOptions);
    onModuleInit(): Promise<void>;
    onModuleDestroy(): Promise<void>;
    getDatabase(): Db;
    getCollection<T = any>(name: string): Collection<T>;
    startSession(): Promise<ClientSession>;
    executeInTransaction<T>(operations: (session: ClientSession) => Promise<T>): Promise<T>;
    createIndexes(collectionName: string, indexes: any[]): Promise<void>;
}
