@amplitude/experiment-js-client
Version:
Amplitude Experiment Javascript Client SDK
54 lines (53 loc) • 1.81 kB
TypeScript
import { ExperimentAnalyticsEvent, ExperimentAnalyticsProvider } from '../types/analytics';
import { ExperimentUserProvider } from '../types/provider';
import { ExperimentUser } from '../types/user';
type AmplitudeIdentify = {
set(property: string, value: unknown): void;
unset(property: string): void;
};
type AmplitudeInstance = {
options?: AmplitudeOptions;
_ua?: AmplitudeUAParser;
logEvent(eventName: string, properties: Record<string, string>): void;
setUserProperties(userProperties: Record<string, unknown>): void;
identify(identify: AmplitudeIdentify): void;
};
type AmplitudeOptions = {
deviceId?: string;
userId?: string;
versionName?: string;
language?: string;
platform?: string;
};
type AmplitudeUAParser = {
browser?: {
name?: string;
major?: string;
};
os?: {
name?: string;
};
};
/**
* @deprecated Update your version of the amplitude analytics-js SDK to 8.17.0+ and for seamless
* integration with the amplitude analytics SDK.
*/
export declare class AmplitudeUserProvider implements ExperimentUserProvider {
private amplitudeInstance;
constructor(amplitudeInstance: AmplitudeInstance);
getUser(): ExperimentUser;
private getOs;
private getDeviceModel;
}
/**
* @deprecated Update your version of the amplitude analytics-js SDK to 8.17.0+ and for seamless
* integration with the amplitude analytics SDK.
*/
export declare class AmplitudeAnalyticsProvider implements ExperimentAnalyticsProvider {
private readonly amplitudeInstance;
constructor(amplitudeInstance: AmplitudeInstance);
track(event: ExperimentAnalyticsEvent): void;
setUserProperty(event: ExperimentAnalyticsEvent): void;
unsetUserProperty(event: ExperimentAnalyticsEvent): void;
}
export {};