import { AnalyticsConfig, TrackMethodOptions, TrackResult } from '../types/analytics.types'; /** * Analytics 서비스 싱글톤 * KleverOneClient의 모든 public 메서드 호출을 추적합니다. */ export declare class AnalyticsService { private static instance; private config; private baseUrl; private locationInfo; private constructor(); /** * 싱글톤 인스턴스 반환 */ static getInstance(): AnalyticsService; /** * 싱글톤 인스턴스 초기화 (테스트용) */ static resetInstance(): void; /** * 설정 업데이트 */ configure(config: Partial): void; /** * Base URL 설정 (RoomManager와 동일한 URL 사용) */ setBaseUrl(baseUrl: string): void; /** * 분석 활성화 여부 */ isEnabled(): boolean; /** * 메서드 호출 추적 시작 * @returns 이벤트 ID (결과 업데이트에 사용) */ trackMethodCall(options: TrackMethodOptions): string; /** * 메서드 실행 결과 업데이트 * 현재는 fire-and-forget이므로 별도 업데이트 없이 로그만 출력 */ updateEventResult(eventId: string, result: TrackResult): void; /** * 위치 정보 로드 */ private loadLocationInfo; /** * 이벤트 생성 */ private createEvent; /** * 이벤트 전송 (Fire-and-forget) * fetch + keepalive 사용 (CORS 호환) */ private sendEvent; /** * 파라미터 정제 (민감 정보 제거 및 대용량 데이터 요약) */ private sanitizeParameters; /** * 값을 정제합니다 (재귀적으로 duration 필드를 정수로 변환) */ private sanitizeValue; /** * User-Agent 반환 */ private getUserAgent; /** * 고유 이벤트 ID 생성 */ private generateEventId; }