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; }