/**
 * ROI Tracker
 *
 * Track return on investment:
 * - Time saved estimation
 * - API cost tracking
 * - Productivity gains
 * - Value analysis
 */
export interface TaskCompletion {
    id: string;
    type: 'code_generation' | 'bug_fix' | 'refactoring' | 'documentation' | 'testing' | 'research' | 'other';
    description: string;
    timestamp: Date;
    apiCost: number;
    tokensUsed: number;
    estimatedManualMinutes: number;
    actualMinutes: number;
    linesOfCode?: number;
    filesModified?: number;
    success: boolean;
}
export interface ROIMetrics {
    totalApiCost: number;
    totalTimeSavedMinutes: number;
    totalActualMinutes: number;
    totalManualMinutesEstimate: number;
    tasksCompleted: number;
    successRate: number;
    averageTimeSavings: number;
    costPerHourSaved: number;
    productivityMultiplier: number;
    netValue: number;
}
export interface ROIReport {
    period: {
        from: Date;
        to: Date;
        days: number;
    };
    metrics: ROIMetrics;
    byType: Record<TaskCompletion['type'], ROIMetrics>;
    trends: {
        weeklyApiCost: number[];
        weeklyTimeSaved: number[];
        weeklyProductivity: number[];
    };
    recommendations: string[];
    generatedAt: Date;
}
export interface ROIConfig {
    /** Hourly rate for value calculations ($) */
    hourlyRate: number;
    /** Path to data storage */
    dataPath?: string;
}
/**
 * ROI Tracker
 */
export declare class ROITracker {
    private config;
    private tasks;
    constructor(config?: Partial<ROIConfig>);
    /**
     * Record a completed task
     */
    recordTask(task: Omit<TaskCompletion, 'id' | 'timestamp' | 'estimatedManualMinutes'>): void;
    /**
     * Estimate manual completion time
     */
    estimateManualTime(type: TaskCompletion['type'], linesOfCode?: number): number;
    /**
     * Get ROI report
     */
    getReport(days?: number): ROIReport;
    /**
     * Calculate overall metrics
     */
    private calculateMetrics;
    /**
     * Calculate metrics by type
     */
    private calculateByType;
    /**
     * Calculate weekly trends
     */
    private calculateTrends;
    /**
     * Generate recommendations
     */
    private generateRecommendations;
    /**
     * Format ROI report for display
     */
    formatReport(report: ROIReport): string;
    /**
     * Export data as JSON
     */
    exportData(): string;
    /**
     * Set hourly rate
     */
    setHourlyRate(rate: number): void;
    /**
     * Clear all data
     */
    clear(): void;
    /**
     * Load data from file
     */
    private loadData;
    /**
     * Save data to file
     */
    private saveData;
}
/**
 * Get or create ROI tracker
 */
export declare function getROITracker(config?: Partial<ROIConfig>): ROITracker;
export default ROITracker;
