import { ILogObject, TTransportOptions } from './types';
/**
 * The Transporter class
 *
 * @description It allows logs to be saved in the mongodb timeseries collection.
 *
 * @example
 * // short example
 * import { Db, MongoClient } from 'mongodb';
 * import { Transporter } from '@harvve/tslog-mongodb-transport';
 * import { Logger } from 'tslog';
 *
 * async function main() {
 *  const client = await new MongoClient('mongodb://localhost:27017').connect();
 *  const mongodbTransporter = new Transporter({ db: client.db('logs_db') });
 *  const logger = new Logger({
      argumentsArrayName: 'argumentsArray', // default key name used by Transporter
      metaProperty: 'metadata', // default key name used by Transporter
      attachedTransports: [mongodbTransporter.transport.bind(mongodbTransporter)]
    });
 *  logger.info('Hello');
 * }
 */
export declare class Transporter {
    private readonly baseConfig;
    private config;
    private collection;
    private bucket;
    private checks;
    private timer;
    constructor(config: TTransportOptions);
    /**
     * Transport method
     *
     * @description transports logs to mongodb
     */
    transport(data: ILogObject): Promise<void>;
    private rollingUpdate;
    private prepareData;
    private writeData;
    private crateCollection;
    private getCollectionMetadata;
}
