import { FastmailClient } from './fastmail-client.js';
export interface EmailAnalytics {
    emailVolume: {
        totalEmails: number;
        sentEmails: number;
        receivedEmails: number;
        periodStart: string;
        periodEnd: string;
    };
    topSenders: Array<{
        email: string;
        name?: string;
        count: number;
        percentage: number;
    }>;
    activityPatterns: {
        byHour: Array<{
            hour: number;
            count: number;
        }>;
        byDay: Array<{
            day: string;
            count: number;
        }>;
        byMonth: Array<{
            month: string;
            count: number;
        }>;
    };
    folderUsage: Array<{
        folderName: string;
        emailCount: number;
        percentage: number;
    }>;
    contentInsights: {
        averageEmailLength: number;
        totalAttachments: number;
        commonKeywords: Array<{
            word: string;
            frequency: number;
        }>;
        subjectAnalysis: Array<{
            pattern: string;
            count: number;
        }>;
    };
    responseMetrics: {
        averageResponseTime: number;
        unreadCount: number;
        unreadPercentage: number;
        oldestUnread?: string;
    };
}
export declare class EmailAnalyticsEngine {
    private fastmailClient;
    constructor(fastmailClient: FastmailClient);
    /**
     * Generate comprehensive email analytics for a given period
     */
    generateAnalytics(options?: {
        startDate?: string;
        endDate?: string;
        maxEmails?: number;
        includeContent?: boolean;
    }): Promise<EmailAnalytics>;
    /**
     * Get volume analytics for the specified period
     */
    getVolumeAnalytics(days?: number): Promise<EmailAnalytics['emailVolume']>;
    /**
     * Get top senders analytics
     */
    getTopSenders(limit?: number, days?: number): Promise<EmailAnalytics['topSenders']>;
    /**
     * Get activity patterns for visualization
     */
    getActivityPatterns(days?: number): Promise<EmailAnalytics['activityPatterns']>;
    /**
     * Generate a comprehensive email report
     */
    generateEmailReport(days?: number): Promise<string>;
    private getEmailsInPeriod;
    private calculateVolumeAnalytics;
    private calculateSenderAnalytics;
    private calculateTemporalAnalytics;
    private calculateFolderAnalytics;
    private calculateContentAnalytics;
    private calculateResponseMetrics;
    private formatAnalyticsReport;
    private generateRecommendations;
}
//# sourceMappingURL=email-analytics.d.ts.map