import { Db } from 'mongodb';
export interface ConnectionConfig {
    uri: string;
    dbName: string;
    minPoolSize?: number;
    maxPoolSize?: number;
    maxIdleTimeMS?: number;
    serverSelectionTimeoutMS?: number;
    socketTimeoutMS?: number;
    connectTimeoutMS?: number;
}
export declare class ConnectionManager {
    private primaryClient;
    private secondaryClient;
    private primaryDb;
    private secondaryDb;
    private primaryConfig;
    private secondaryConfig;
    constructor(primaryConfig: ConnectionConfig, secondaryConfig: ConnectionConfig);
    initializeConnections(): Promise<void>;
    testConnections(): Promise<void>;
    getPrimaryDatabase(): Db;
    getSecondaryDatabase(): Db;
    close(): Promise<void>;
    getConnectionStatus(): Promise<{
        primary: boolean;
        secondary: boolean;
    }>;
}
