import { Database } from '../database/Database.js';
import { ExportManager } from './ExportManager.js';
import { Profile, DailyEntry } from '../types/index.js';
export interface AutoExportConfig {
    enabled: boolean;
    targetPath: string;
    format: 'summary' | 'detailed' | 'journal';
    frequency: 'daily' | 'manual';
}
export interface ExportResult {
    success: boolean;
    filePath?: string;
    error?: string;
}
export declare class AutoExportManager {
    private database;
    private exportManager;
    constructor(database: Database, exportManager?: ExportManager);
    /**
     * Trigger automatic export after daily check-in
     */
    triggerDailyExport(profileId: string, dailyEntry: DailyEntry): Promise<ExportResult>;
    /**
     * Trigger weekly export
     */
    triggerWeeklyExport(profileId: string): Promise<ExportResult>;
    /**
     * Trigger monthly export
     */
    triggerMonthlyExport(profileId: string): Promise<ExportResult>;
    /**
     * Configure automatic exports for a profile
     */
    configureAutoExport(profileId: string, config: Partial<AutoExportConfig>): boolean;
    /**
     * Get current export configuration for a profile
     */
    getExportConfig(profile: Profile): AutoExportConfig;
    /**
     * Test export configuration (validate paths, permissions, etc.)
     */
    testExportConfig(config: AutoExportConfig): {
        valid: boolean;
        error?: string;
    };
    /**
     * Get export history for a profile
     */
    getExportHistory(profileId: string): Array<{
        date: string;
        type: string;
        status: string;
    }>;
    /**
     * Perform the actual export operation
     */
    private performExport;
    /**
     * Generate export content based on type and format
     */
    private generateExportContent;
    /**
     * Generate daily export content
     */
    private generateDailyContent;
    /**
     * Generate daily summary format
     */
    private generateDailySummary;
    /**
     * Generate weekly and monthly content (simplified for now)
     */
    private generateWeeklyContent;
    private generateMonthlyContent;
    /**
     * Generate detailed and journal formats (simplified for now)
     */
    private generateDailyDetailed;
    private generateDailyJournal;
    /**
     * Validate export path accessibility and writability
     */
    private validateExportPath;
    /**
     * Ensure directory exists
     */
    private ensureDirectoryExists;
    /**
     * Generate filename based on export type and format
     */
    private generateFilename;
    /**
     * Get subdirectory for export type
     */
    private getSubdirectory;
    /**
     * Get week number of the year
     */
    private getWeekNumber;
}
//# sourceMappingURL=AutoExportManager.d.ts.map