import * as Sentry from '@sentry/react';
import { type SyncTelemetry, type SyncTelemetryAttributeValue } from '@syncular/core';
export type BrowserSentryInitOptions = Parameters<typeof Sentry.init>[0];
export type BrowserSentryCaptureMessageLevel = Parameters<typeof Sentry.captureMessage>[1];
interface BrowserSentryCaptureMessageOptions {
    level?: BrowserSentryCaptureMessageLevel;
    tags?: Record<string, string>;
}
type BrowserSentryLogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
interface BrowserSentryLogOptions {
    level?: BrowserSentryLogLevel;
    attributes?: Record<string, SyncTelemetryAttributeValue>;
}
/**
 * Create a Syncular telemetry backend wired to `@sentry/react`.
 */
export declare function createBrowserSentryTelemetry(): SyncTelemetry;
/**
 * Configure Syncular core telemetry to use the browser Sentry adapter.
 */
export declare function configureBrowserSentryTelemetry(): SyncTelemetry;
/**
 * Initialize browser Sentry and configure Syncular telemetry.
 */
export declare function initAndConfigureBrowserSentry(options: BrowserSentryInitOptions): SyncTelemetry;
/**
 * Capture a browser message in Sentry with optional tags.
 */
export declare function captureBrowserSentryMessage(message: string, options?: BrowserSentryCaptureMessageOptions): void;
/**
 * Emit a browser Sentry log entry.
 */
export declare function logBrowserSentryMessage(message: string, options?: BrowserSentryLogOptions): void;
export {};
//# sourceMappingURL=sentry.d.ts.map