import { BaseAnalyticsProvider } from '../../base-analytics-provider.js'; import type { ProviderConfig, ConsentSettings } from '../../../types/provider.js'; import type { RevenueData } from '../../../definitions.js'; interface AmplitudeInstance { init: (apiKey: string, userId?: string, options?: any) => void; setUserId: (userId: string | null) => void; setDeviceId: (deviceId: string) => void; setUserProperties: (properties: any) => void; track: (eventName: string, eventProperties?: any) => void; revenue: (revenue: any) => void; setOptOut: (optOut: boolean) => void; reset: () => void; setServerUrl: (url: string) => void; logEvent: (eventName: string, eventProperties?: any) => void; identify: (identify: any) => void; Identify: new () => any; Revenue: new () => any; } declare global { interface Window { amplitude?: AmplitudeInstance; } } export declare class AmplitudeAnalyticsProvider extends BaseAnalyticsProvider { readonly id = "amplitude"; readonly name = "Amplitude Analytics"; readonly version = "1.0.0"; private amplitude?; protected doInitialize(config: ProviderConfig): Promise; protected doShutdown(): Promise; protected doUpdateConsent(consent: ConsentSettings): Promise; protected doSetDebugMode(enabled: boolean): void; protected doProviderReset(): Promise; protected doTrack(eventName: string, properties: Record): Promise; protected doIdentifyUser(userId: string, traits: Record): Promise; protected doSetUserProperties(properties: Record): Promise; protected doLogRevenue(data: RevenueData): Promise; protected doLogScreenView(screenName: string, properties: Record): Promise; private loadAmplitudeSDK; private sanitizeEventName; private sanitizePropertyKey; private sanitizePropertyValue; private sanitizeProperties; } export {};