import { DotCMSAnalyticsConfig, DotCMSAnalyticsEventContext, DotCMSEvent } from '../models';
/**
 * Creates a queue manager for batching analytics events.
 * Uses factory function pattern consistent with the plugin architecture.
 */
export declare const createAnalyticsQueue: (config: DotCMSAnalyticsConfig) => {
    /**
     * Initialize the queue with smart batching
     */
    initialize: () => void;
    /**
     * Add event to queue
     * smartQueue handles all batching logic automatically:
     * - Sends immediately when eventBatchSize reached (with throttle: false)
     * - Sends pending events every flushInterval
     */
    enqueue: (event: DotCMSEvent, context: DotCMSAnalyticsEventContext) => void;
    /**
     * Get queue size for debugging
     * Returns the number of events in smartQueue
     */
    size: () => number;
    /**
     * Clean up queue resources
     * Flushes remaining events and cleans up listeners
     *
     * IMPORTANT: Does NOT clear sessionStorage
     * - Storage is cleared only after sendBatch succeeds or in initialize()
     * - This allows events to persist across traditional page navigations
     */
    cleanup: () => void;
};
