export interface DownloadRecord { id: string; timestamp: string; campaignId: number; downloadType: string; format: string; userId?: string; machineId: string; ipAddress?: string; } /** * Track a download event * @param campaignId The ID of the campaign being downloaded * @param downloadType The type of download (analytics, leads, etc.) * @param format The format of the download (json, csv) * @param userId Optional user identifier * @param ipAddress Optional IP address of the requester * @returns The unique ID of the download record */ export declare const trackDownload: (campaignId: number, downloadType: string, format: string, userId?: string, ipAddress?: string) => string; /** * Get all download records * @returns Array of download records */ export declare const getDownloadRecords: () => DownloadRecord[]; /** * Get download statistics * @returns Statistics about downloads */ export declare const getDownloadStats: () => { totalDownloads: number; uniqueUsers: number; byType: Record; byFormat: Record; byCampaign: Record; byDate: Record; };