import { AnalyticsBaseParams, DotCMSAnalyticsConfig } from '../../shared/models'; /** * Identity Plugin for DotAnalytics * Handles user ID generation, session management, and activity tracking. * This plugin provides consistent identity context across all analytics events. * * Plugin execution order: * 1. Identity Plugin (this) - Injects context * 2. Enricher Plugin - Adds page/device/utm data * 3. Main Plugin - Sends to server * * @param {DotCMSAnalyticsConfig} config - Configuration object containing server URL, site key, and debug settings * @returns {Object} Plugin object with methods for initialization and event processing */ export declare const dotAnalyticsIdentityPlugin: (config: DotCMSAnalyticsConfig) => { name: string; /** * Initialize the identity plugin * Sets up activity tracking for session management */ initialize: () => Promise; /** * Inject identity context into page events and updates session activity for session management * This runs BEFORE the enricher plugin */ pageStart: ({ payload }: AnalyticsBaseParams) => { context: import('../../public-api').DotCMSAnalyticsEventContext; type: "track" | "page"; properties: Record; options: Record; userId: string; anonymousId: string; meta: { rid: string; ts: number; hasCallback: boolean; }; }; /** * Inject identity context into track events and updates session activity for session management * This runs BEFORE the enricher plugin */ trackStart: ({ payload }: AnalyticsBaseParams) => { context: import('../../public-api').DotCMSAnalyticsEventContext; type: "track" | "page"; properties: Record; options: Record; userId: string; anonymousId: string; meta: { rid: string; ts: number; hasCallback: boolean; }; }; /** * Clean up on plugin unload * Sets up cleanup handlers for activity tracking */ loaded: () => boolean; };