export type ErrorReportingUser = { id?: string; email?: string; username?: string; }; export type ErrorReportingLevel = 'fatal' | 'error' | 'warning' | 'info' | 'debug' | 'log'; export interface ErrorReportingService { captureException( error: unknown, context?: Record, ): Promise | string | undefined; captureMessage( message: string, level?: ErrorReportingLevel, ): Promise | string | undefined; setUser(user: ErrorReportingUser | null): void; setTag(key: string, value: string): void; withScope(fn: () => T, context?: Record): T; }