import { MongoLogWriter } from 'mongodb-log-writer'; import type { MongoshLoggingAndTelemetry, MongoshLoggingAndTelemetryArguments } from './types'; export declare function setupLoggingAndTelemetry(props: MongoshLoggingAndTelemetryArguments): MongoshLoggingAndTelemetry; export declare class LoggingAndTelemetry implements MongoshLoggingAndTelemetry { private static dummyLogger; private readonly bus; private readonly analytics; private readonly userTraits; private readonly mongoshVersion; private log; private pendingBusEvents; private pendingTelemetryEvents; private isSetup; private isBufferingBusEvents; private isBufferingTelemetryEvents; private deviceId; setupTelemetryPromise: Promise; private readonly telemetrySetupAbort; constructor({ bus, analytics, userTraits, mongoshVersion, deviceId, }: MongoshLoggingAndTelemetryArguments); setup(): void; flush(): Promise; private setupTelemetry; attachLogger(logger: MongoLogWriter): void; detachLogger(): Promise; private runAndClearPendingBusEvents; private runAndClearPendingTelemetryEvents; private busEventState; private setupBusEventListeners; }