import { Logger } from '@btc-vision/logger';
import { ClientSession } from 'mongodb';
import { IConfig, IConfigBase } from '../../config/interfaces/IConfig.js';
export interface IDBManager {
    connect: () => Promise<void>;
    setup: (targetDatabase: string) => boolean;
    close: () => Promise<void>;
    startSession: () => ClientSession;
}
export declare abstract class InnerDBManager extends Logger implements IDBManager {
    protected config: IConfig<IConfigBase>;
    protected constructor(config: IConfig<IConfigBase>);
    abstract connect(): Promise<void>;
    abstract setup(targetDatabase: string): boolean;
    abstract close(): Promise<void>;
    abstract startSession(): ClientSession;
}
