@ninetailed/experience.js-plugin-insights
Version:
Ninetailed SDK plugin for Ninetailed Insights
38 lines (37 loc) • 2.16 kB
TypeScript
import { COMPONENT_CLICK, COMPONENT_HOVER, COMPONENT, PROFILE_CHANGE, PAGE_HIDDEN, type ProfileChangedPayload, type InterestedInClickedElements, type InterestedInSeenElements, type InterestedInProfileChange, type InterestedInHiddenPage, type AcceptsCredentials, type Credentials, AnalyticsInstance } from '@ninetailed/experience.js';
import { type ComponentClickEvent, type ComponentHoverEvent, type ComponentViewEvent } from '@ninetailed/experience.js-shared';
import type { EventBuilder, InterestedInSeenVariables, RequiresEventBuilder } from '@ninetailed/experience.js';
import { ElementClickedPayload, ElementHoveredPayload, ElementSeenPayload, VariableSeenPayload, EventHandler, NinetailedPlugin } from '@ninetailed/experience.js-plugin-analytics';
export declare class NinetailedInsightsPlugin extends NinetailedPlugin implements InterestedInSeenElements, InterestedInClickedElements, InterestedInSeenVariables, InterestedInProfileChange, InterestedInHiddenPage, AcceptsCredentials, RequiresEventBuilder {
name: string;
private seenElements;
private seenVariables;
private profile?;
private events;
private eventsQueue;
private static MAX_EVENTS;
private insightsApiClient?;
private readonly insightsApiClientUrl?;
private instance?;
private eventBuilder?;
constructor({ url }?: {
url?: string;
});
initialize: ({ instance }: {
instance: AnalyticsInstance;
}) => Promise<void>;
onHasSeenElement: EventHandler<ElementSeenPayload>;
[COMPONENT]: EventHandler<ComponentViewEvent>;
onHasClickedElement: EventHandler<ElementClickedPayload>;
[COMPONENT_CLICK]: EventHandler<ComponentClickEvent>;
onHasHoveredElement: EventHandler<ElementHoveredPayload>;
[COMPONENT_HOVER]: EventHandler<ComponentHoverEvent>;
onHasSeenVariable: EventHandler<VariableSeenPayload>;
[PROFILE_CHANGE]: EventHandler<ProfileChangedPayload>;
[PAGE_HIDDEN]: () => void;
private createEventsBatch;
private shouldFlushEventsQueue;
private flushEventsQueue;
setCredentials(credentials: Credentials): void;
setEventBuilder(eventBuilder: EventBuilder): void;
}