import { ExportResult } from '@opentelemetry/core';
import { ReadableSpan } from '@opentelemetry/sdk-trace-base';
import { SessionType } from '@multiplayer-app/session-recorder-common';
import type { CrashBuffer } from '@multiplayer-app/session-recorder-common';
import { TracerBrowserConfig } from '../types';
export declare class TracerBrowserSDK {
    clientId: string;
    private tracerProvider?;
    private config?;
    private sessionId;
    private idGenerator?;
    private exporter?;
    private globalErrorListenersRegistered;
    private crashBuffer?;
    constructor();
    private _setSessionId;
    init(options: TracerBrowserConfig): void;
    setCrashBuffer(crashBuffer: CrashBuffer | undefined): void;
    start(sessionId: any, sessionType: SessionType): void;
    stop(): void;
    setApiKey(apiKey: string): void;
    exportTraces(spans: ReadableSpan[]): Promise<ExportResult | undefined | void>;
    /**
     * Capture an exception as an error span/event.
     * If there is an active span, the exception will be recorded on it.
     * Otherwise, a short-lived span will be created to hold the exception event.
     */
    captureException(error: Error, errorInfo?: Record<string, any>): void;
    private _getSpanSessionIdProcessor;
    private _registerGlobalErrorListeners;
    private static _toReadableSpanLike;
}
//# sourceMappingURL=index.d.ts.map