import { AmplitudeCore, Event, EventOptions, IIdentify, IRevenue, TransportTypeOrOptions, Result, BrowserOptions, BrowserConfig, BrowserClient, AnalyticsClient, AnalyticsIdentity } from '@amplitude/analytics-core'; import { WebAttribution } from './attribution/web-attribution'; /** * Exported for `@amplitude/unified` or integration with blade plugins. * If you only use `@amplitude/analytics-browser`, use `amplitude.init()` or `amplitude.createInstance()` instead. */ export declare class AmplitudeBrowser extends AmplitudeCore implements BrowserClient, AnalyticsClient { config: BrowserConfig; previousSessionDeviceId: string | undefined; previousSessionUserId: string | undefined; webAttribution: WebAttribution | undefined; _diagnosticsSampleRate: number; init(apiKey?: string, userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions): import("@amplitude/analytics-core").AmplitudeReturn; protected _init(options: BrowserOptions & { apiKey: string; }): Promise; getUserId(): string | undefined; setUserId(userId: string | undefined): void; getDeviceId(): string | undefined; setDeviceId(deviceId: string): void; reset(): void; getIdentity(): { deviceId: string | undefined; userId: string | undefined; userProperties: { [key: string]: any; } | undefined; }; setIdentity(identity: Partial): void; getOptOut(): boolean | undefined; getSessionId(): number | undefined; setSessionId(sessionId: number | undefined): import("@amplitude/analytics-core").AmplitudeReturn | import("@amplitude/analytics-core").AmplitudeReturn; extendSession(): void; setTransport(transport: TransportTypeOrOptions): void; identify(identify: IIdentify, eventOptions?: EventOptions): import("@amplitude/analytics-core").AmplitudeReturn; groupIdentify(groupType: string, groupName: string | string[], identify: IIdentify, eventOptions?: EventOptions): import("@amplitude/analytics-core").AmplitudeReturn; revenue(revenue: IRevenue, eventOptions?: EventOptions): import("@amplitude/analytics-core").AmplitudeReturn; private trackCampaignEventIfNeeded; process(event: Event): Promise; private logBrowserOptions; /** * @experimental * WARNING: This method is for internal testing only and is not part of the public API. * It may be changed or removed at any time without notice. * * Sets the diagnostics sample rate before amplitude.init() * @param sampleRate - The sample rate to set */ _setDiagnosticsSampleRate(sampleRate: number): void; } //# sourceMappingURL=browser-client.d.ts.map