import 'rollup-plugin-inject-process-env'; /** * Utility functions for handling UTM parameters and tracking data * Following industry standards for marketing attribution tracking */ export interface TrackingParameters { utm_source?: string; utm_medium?: string; utm_campaign?: string; utm_term?: string; utm_content?: string; gclid?: string; gbraid?: string; wbraid?: string; fbclid?: string; msclkid?: string; [key: `track_${string}`]: string; } /** * Configuration for tracking parameter extraction */ export interface TrackingConfig { /** * Whether to extract UTM parameters from the URL * @default true */ extractUtmParameters?: boolean; /** * Whether to extract platform-specific click IDs * @default true */ extractClickIds?: boolean; /** * Custom parameter prefix to look for (in addition to utm_) * @default "track_" */ customParameterPrefix?: string; /** * Whether to persist parameters to localStorage * @default true */ persistToLocalStorage?: boolean; /** * How long to persist parameters in localStorage (in days) * @default 30 */ persistenceDays?: number; /** * Whether to prefer URL parameters over stored ones when both exist * @default true */ preferUrlParameters?: boolean; } /** * Extracts tracking parameters from a URL */ export declare function extractTrackingParametersFromUrl(url?: string, config?: TrackingConfig): TrackingParameters; /** * Gets tracking parameters from localStorage */ export declare function getStoredTrackingParameters(): TrackingParameters; /** * Stores tracking parameters in localStorage with expiration */ export declare function storeTrackingParameters(parameters: TrackingParameters, config?: TrackingConfig): void; /** * Main function to get all tracking parameters, combining URL and stored parameters */ export declare function getAllTrackingParameters(url?: string, config?: TrackingConfig): TrackingParameters; /** * Clears all stored tracking parameters */ export declare function clearStoredTrackingParameters(): void; /** * Gets tracking parameters formatted for form widget attributes */ export declare function getTrackingParametersForWidget(url?: string, config?: TrackingConfig): Record;