import { ElementTrackingData, ElementVisibilityOptions, ElementVisibilityTrackerOptions } from './types';
export declare class ElementVisibilityTracker {
    private options;
    private trackedElements;
    private isDestroyed;
    constructor(options: ElementVisibilityTrackerOptions);
    trackElement(element: Element, trackingKey: string, options?: ElementVisibilityOptions): void;
    untrackElement(trackingKey: string): void;
    private handleIntersection;
    getElementData(trackingKey: string): ElementTrackingData | null;
    getAllElementData(): Map<string, ElementTrackingData>;
    addElementInteraction(trackingKey: string, interactionType: 'click' | 'hover' | 'focus' | 'scroll', position?: {
        x: number;
        y: number;
    }): void;
    updateVisibleTime(trackingKey: string): void;
    pause(): void;
    resume(): void;
    destroy(): void;
    getTrackedElementCount(): number;
    isElementTracked(trackingKey: string): boolean;
    private formatTime;
    private log;
}
//# sourceMappingURL=ElementVisibilityTracker.d.ts.map