@ninetailed/experience.js-plugin-analytics
Version:
Ninetailed SDK plugin for analytics
23 lines (22 loc) • 1.19 kB
TypeScript
import { AnalyticsPlugin } from 'analytics';
import { AnalyticsInstance } from './AnalyticsInstance';
import { HasComponentViewTrackingThreshold } from './types/interfaces/HasComponentViewTrackingThreshold';
import { ElementSeenPayload, VariableSeenPayload } from './ElementSeenPayload';
import { HAS_SEEN_ELEMENT, HAS_SEEN_VARIABLE } from './constants';
export type EventHandlerParams<T = unknown> = {
payload: T;
instance: AnalyticsInstance;
abort: (reason?: string) => unknown;
};
export type EventHandler<T = unknown> = (params: EventHandlerParams<T>) => void;
export declare abstract class NinetailedPlugin implements AnalyticsPlugin, HasComponentViewTrackingThreshold {
[x: string]: unknown;
private componentViewTrackingThreshold;
abstract readonly name: string;
[HAS_SEEN_ELEMENT]: EventHandler<ElementSeenPayload>;
[HAS_SEEN_VARIABLE]: EventHandler<VariableSeenPayload>;
protected onHasSeenElement: EventHandler<ElementSeenPayload>;
protected onHasSeenVariable: EventHandler<VariableSeenPayload>;
setComponentViewTrackingThreshold: (threshold: number) => void;
getComponentViewTrackingThreshold: () => number;
}