import * as api from '@opentelemetry/api';
import { Span } from '@opentelemetry/api';
import { PropagateTraceHeaderCorsUrls } from '@opentelemetry/sdk-trace-web';
import { NetworkRecordingOptions, OtelInstrumentatonOptions } from '../types/client';
import { IntegrationClient } from '../../integrations';
export type Callback = (span?: Span) => any;
export type BrowserTracingConfig = {
    projectId: string | number;
    sessionSecureId: string;
    otlpEndpoint: string;
    backendUrl?: string;
    environment?: string;
    networkRecordingOptions?: NetworkRecordingOptions;
    serviceName?: string;
    tracingOrigins?: boolean | (string | RegExp)[];
    urlBlocklist?: string[];
    instrumentations?: OtelInstrumentatonOptions;
    getIntegrations?: () => IntegrationClient[];
};
export declare const LOG_SPAN_NAME = "launchdarkly.js.log";
export declare const setupBrowserTracing: (config: BrowserTracingConfig) => void;
export declare const BROWSER_TRACER_NAME = "highlight-browser";
export declare const BROWSER_METER_NAME = "highlight-browser";
export declare const getTracer: () => import("@opentelemetry/sdk-trace-web").Tracer | undefined;
export declare const getMeter: () => api.Meter | undefined;
export declare const getActiveSpan: () => api.Span | undefined;
export declare const getActiveSpanContext: () => api.Context;
export declare const shutdown: () => Promise<void>;
export declare const getCorsUrlsPattern: (tracingOrigins: BrowserTracingConfig["tracingOrigins"]) => PropagateTraceHeaderCorsUrls;
