interface AnalyticsConfig { projectName: string; localStorageKey?: string; debug?: boolean; testing?: () => boolean; } type TrackPayload = { distinctId: string; anonId: string; projectName: string; eventName: string; operatingSystem?: string; browser?: string; browserVersion?: string; osVersion?: string; currentUrl: string; chatId: string; referrer?: string; properties?: Record | undefined; }; type IdentifyPayload = { distinctId: string; anonId: string[]; projectName: string; email: string; name?: string; phone?: string; properties?: Record | undefined; }; interface DebalesAnalyticsPublicAPI { init(config: AnalyticsConfig): void; identify(uniqueId: string, userProperties?: IdentifyPayload["properties"]): Promise; track(eventName: string, eventProperties?: TrackPayload["properties"]): void; getDistinctId(): string; getAnonId(): string; } declare const debalesAnalytic: DebalesAnalyticsPublicAPI; export default debalesAnalytic;