import { LogLevel, LogType, SentryBreadcrumb, SentryEvent } from "./types"; export { LogLevel, LogType }; type SentryLog = { level: string; message: string; attributes?: Record; timestamp?: number; }; /** * SentryLogger - Captures Sentry events for display in admin modal * * This logger is specifically designed to capture Sentry events before they are sent * and store them in memory for display in the admin modal. It maintains up to 500 events. * * Usage: * ```ts * // In your Sentry.init(): * const logger = new SentryLogger(); * * Sentry.init({ * beforeSendTransaction: logger.captureTransaction, * beforeSendSpan: logger.captureSpan, * beforeSend: logger.captureEvent, * beforeBreadcrumb: logger.captureBreadcrumb, * // ... other config * }); * ``` */ export declare class SentryLogger { /** * Capture a Sentry transaction before it's sent */ captureTransaction: (event: SentryEvent) => SentryEvent; /** * Capture a Sentry span before it's sent */ captureSpan: (span: SentryEvent) => SentryEvent; /** * Capture a Sentry event before it's sent */ captureEvent: (event: SentryEvent) => SentryEvent; /** * Capture a Sentry log before it's sent */ captureLog: (log: SentryLog) => SentryLog; /** * Capture a Sentry breadcrumb before it's added */ captureBreadcrumb: (breadcrumb: SentryBreadcrumb) => SentryBreadcrumb | null; /** * Internal method to log Sentry events to memory */ private logSentryEvent; /** * Get appropriate log level from Sentry data */ private getSentryLevel; /** * Extract message from Sentry data */ private getSentryMessage; /** * Extract metadata from Sentry data */ private getSentryMetadata; } export declare const sentryLogger: SentryLogger; //# sourceMappingURL=index-sentry.d.ts.map