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<void>;
    /**
     * Inject identity context into page events and updates session activity for session management
     * This runs BEFORE the enricher plugin
     */
    pageStart: ({ payload }: AnalyticsBaseParams) => {
        context: import('../../shared/models').DotCMSAnalyticsEventContext;
        type: "page" | "track";
        properties: Record<string, unknown>;
        options: Record<string, unknown>;
        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('../../shared/models').DotCMSAnalyticsEventContext;
        type: "page" | "track";
        properties: Record<string, unknown>;
        options: Record<string, unknown>;
        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;
};
