import { BaseAnalyticsProvider } from '../../base-analytics-provider.js'; import type { ProviderConfig, ConsentSettings } from '../../../types/provider.js'; import type { RevenueData } from '../../../definitions.js'; declare global { interface Window { gtag?: (...args: any[]) => void; dataLayer?: any[]; } } interface GoogleAnalyticsConfig extends ProviderConfig { measurementId: string; sendPageView?: boolean; anonymizeIp?: boolean; allowAdFeatures?: boolean; cookieDomain?: string; cookieExpires?: number; cookiePrefix?: string; customDimensions?: Record; customMetrics?: Record; customParameters?: Record; } export declare class GoogleAnalyticsProvider extends BaseAnalyticsProvider { readonly id = "google-analytics"; readonly name = "Google Analytics"; readonly version = "1.0.0"; private measurementId; private scriptLoaded; /** * Check if provider is initialized */ get isInitialized(): boolean; protected doInitialize(config: GoogleAnalyticsConfig): Promise; private loadScript; protected doShutdown(): Promise; protected doUpdateConsent(consent: ConsentSettings): Promise; protected doTrack(eventName: string, properties: Record): Promise; protected doIdentifyUser(userId: string, traits: Record): Promise; protected doSetUserProperties(properties: Record): Promise; protected doLogScreenView(screenName: string, properties: Record): Promise; protected doLogRevenue(data: RevenueData): Promise; protected doProviderReset(): Promise; protected doSetDebugMode(enabled: boolean): void; } export {};