/** * SDK Error Reporter - 침습적이지 않은 SDK 내부 에러 리포팅 * * 특징: * - Global error handler 설치 안 함 (사용자 앱에 영향 없음) * - 명시적으로 전달된 SDK 내부 에러만 수집 * - 사용자 코드 에러는 절대 수집하지 않음 * - Sentry DSN이 있으면 Sentry로, 없으면 커스텀 엔드포인트로 전송 */ /** * 에러 컨텍스트 정보 */ interface ErrorContext { /** 에러 발생 위치 (예: 'transport', 'wrapper', 'client') */ location: string; /** 추가 메타데이터 */ metadata?: Record; } /** * Error Reporter 설정 */ interface ErrorReporterConfig { /** 에러 리포팅 활성화 여부 */ enabled: boolean; /** 디버그 모드 (콘솔 출력) */ debug?: boolean; } /** * Error Reporter 초기화 */ export declare function initErrorReporter(options?: Partial & { platform?: string; }): void; /** * SDK 내부 에러를 캡처합니다. * * @param error 캡처할 에러 * @param context 에러 컨텍스트 */ export declare function captureSDKError(error: Error | unknown, context: ErrorContext): void; /** * 에러를 안전하게 캡처하는 래퍼 함수 * * @param fn 실행할 함수 * @param context 에러 컨텍스트 * @returns 함수 실행 결과 */ export declare function withErrorCapture(fn: () => T, context: ErrorContext): T; /** * 에러 리포팅 비활성화 */ export declare function disableErrorReporter(): void; /** * 에러 리포팅 활성화 */ export declare function enableErrorReporter(): void; export {};