@amplitude/unified
Version:
Official Amplitude SDK for Web analytics, experiment, session replay, and more.
38 lines • 2.01 kB
TypeScript
import { AmplitudeBrowser } from '@amplitude/analytics-browser';
import { AmplitudeSessionReplay, SessionReplayOptions } from '@amplitude/plugin-session-replay-browser';
import { IExperimentClient, ExperimentPluginConfig } from '@amplitude/plugin-experiment-browser';
import { InitOptions } from '@amplitude/engagement-browser';
import { BrowserClient, BrowserOptions } from '@amplitude/analytics-core';
export interface UnifiedSharedOptions {
serverZone?: 'US' | 'EU';
instanceName?: string;
}
export type UnifiedOptions = UnifiedSharedOptions & {
analytics?: BrowserOptions;
sessionReplay?: Omit<SessionReplayOptions, keyof UnifiedSharedOptions>;
experiment?: Omit<ExperimentPluginConfig, keyof UnifiedSharedOptions>;
engagement?: Omit<InitOptions, keyof UnifiedSharedOptions>;
};
export interface UnifiedClient extends BrowserClient {
initAll(apiKey: string, unifiedOptions?: UnifiedOptions): Promise<void>;
sessionReplay(): AmplitudeSessionReplay;
experiment(): IExperimentClient | undefined;
}
export declare class AmplitudeUnified extends AmplitudeBrowser implements UnifiedClient {
private _sessionReplay;
sessionReplay(): AmplitudeSessionReplay;
experiment(): IExperimentClient | undefined;
/**
* Initialize SDKs with configuration options.
*
* @param apiKey Amplitude API key.
* @param analyticsOptions Analytics configuration options. Refer to {@link https://amplitude.com/docs/sdks/analytics/browser/browser-sdk-2#configure-the-sdk here} for more info.
* @param unifiedOptions Shared configuration for all SDKs and for blade SDKs.
*/
initAll(apiKey: string, unifiedOptions?: UnifiedOptions): Promise<void>;
/**
* Only analytics SDK is initialized. Use initAll() instead to initialize all blade SDKs.
*/
init(apiKey?: string, userIdOrOptions?: string | BrowserOptions, maybeOptions?: BrowserOptions): import("@amplitude/analytics-core").AmplitudeReturn<void>;
}
//# sourceMappingURL=unified.d.ts.map