import type { Logger } from '@mongodb-js/compass-logging/provider';
import { mongoLogId } from '@mongodb-js/compass-logging/provider';
export type TrackFunction = (event: string, properties: Record<string, any>) => void;
export type LogFunction = (type: 'debug' | 'info' | 'warn' | 'error' | 'fatal', ...args: any[]) => void;
export type DebugFunction = (...args: any[]) => void;
type Debugger = Logger['debug'];
export declare class CompassWebLoggerAndTelemetry implements Logger {
    private component;
    private callbackRef;
    log: Logger['log'];
    debug: Debugger;
    constructor(component: string, callbackRef: {
        current: {
            onLog?: LogFunction;
            onDebug?: DebugFunction;
        };
    });
    mongoLogId: typeof mongoLogId;
    createLogger: (component: string) => Logger;
}
export declare function useCompassWebLoggerAndTelemetry(callbacks: {
    onLog?: LogFunction;
    onDebug?: DebugFunction;
}): CompassWebLoggerAndTelemetry;
export {};
//# sourceMappingURL=logger-and-telemetry.d.ts.map