import { Config, Dict } from 'mixpanel-browser'; type AnalyticsEnvironment = "production" | "stage" | "development"; type AnalyticsCommonParams = { utm_source: string; utm_medium: string; utm_campaign: string; utm_campaign_id: string; utm_advertiser_id: string; utm_adset_id: string; utm_adset_name: string; utm_ad_id: string; utm_ad_name: string; utm_keyword: string; referrer: string; search_query: string; landing_page_url: string; fbp?: string; fbc?: string; session_id: string | null; user_pseudo_id: string; funnel_name?: string; language: string; platform: string; url: string; device: string; browser: string; system: string; rid: string; locale: string; logged_in: boolean; user_id: string; env: AnalyticsEnvironment; }; type EventParams = Record; interface UserAttributionProperties { funnelInfo?: { funnelType?: string | null; funnelName?: string | null; platform: string; listName: string | null; index: number | string | null; placement: string | null; rankingSessionId?: string | null; }; trackingParams?: { source: string; medium: string; advertiserId: string; campaignId: string; campaignName: string; adsetId: string; adId: string; adName: string; keyword: string; searchQuery: string; referrer: string; landingPageUrl: string; pathname: string; }; externalAnalyticsUserInfo?: { gaSessionId: string | null; gaClientId: string | null; rid: string; fbp?: string; fbc?: string; mxDistinctId?: string | null; cioAnonId?: string; }; } type ForcedAttributionProperties = { funnelName?: string; }; declare function detectBrowser(): "Microsoft Edge" | "Chrome" | "Firefox" | "Safari" | "Opera" | "Internet Explorer" | "Unknown"; declare function detectDeviceType(): "Mobile" | "Desktop"; declare function detectOS(): "Windows" | "macOS" | "Linux" | "Android" | "iOS" | "Unknown OS"; declare const getGAClientId: () => Promise; declare function getGASessionId(): string | null; type EventServices = { ga?: boolean; mixpanel?: boolean; customerIO?: boolean; }; type GConfig = { userId?: string; email?: string; }; declare class Analytics { private initialized; private locale; private platform; private env; private dataLayer; private lastGConfig; private mxDistinctId; private isClearly; init({ env, locale, platform, isClearly, config, mixpanelConfig, }?: { env?: string; locale?: string; platform?: string; isClearly?: boolean; config?: GConfig; mixpanelConfig?: Partial; }): Promise; private processDataLayer; getGAClientId(): Promise; setGAClientId: (clientId: string) => void; trackEvent(eventName: string, properties?: EventParams, services?: EventServices): Promise; private setConfig; trackPageView({ referrer }?: { referrer?: string; }): void; setUser(userId: string, userParams: { email: string; name: string; numberOfSessions: number; locale: string; phone?: string; isB2B?: boolean; CIOParams?: EventParams; mixpanelParams?: Dict; }): void; setUserAttributes(attributes: EventParams): Promise; getCommonParams(): AnalyticsCommonParams; setLocale(newLocale: string): void; resetUser(): void; getUserId: () => string; getAttributionProperties(forcedAttributionProperties?: ForcedAttributionProperties): Promise; start_session_recording: () => void; stop_session_recording: () => void; trackFirstPartyEvent(eventName: string, properties?: EventParams, forcedAttributionProperties?: ForcedAttributionProperties): Promise; } declare const _default: Analytics; export { _default as default, detectBrowser, detectDeviceType, detectOS, getGAClientId, getGASessionId };