/**
 * Local Metrics Dashboard
 *
 * Visual dashboard for tracking metrics:
 * - Session statistics
 * - Cost tracking
 * - Performance metrics
 * - Usage patterns
 */
export interface SessionMetrics {
    sessionId: string;
    startTime: Date;
    endTime?: Date;
    messageCount: number;
    toolCalls: number;
    tokensUsed: number;
    cost: number;
    errors: number;
}
export interface DailyMetrics {
    date: string;
    sessions: number;
    messages: number;
    toolCalls: number;
    tokensUsed: number;
    cost: number;
    errors: number;
    avgSessionDuration: number;
}
export interface ToolMetrics {
    name: string;
    calls: number;
    successes: number;
    failures: number;
    avgDuration: number;
    totalDuration: number;
}
export interface DashboardData {
    summary: {
        totalSessions: number;
        totalMessages: number;
        totalToolCalls: number;
        totalTokens: number;
        totalCost: number;
        totalErrors: number;
        avgSessionDuration: number;
        avgMessagesPerSession: number;
    };
    daily: DailyMetrics[];
    tools: ToolMetrics[];
    recentSessions: SessionMetrics[];
    trends: {
        costTrend: 'up' | 'down' | 'stable';
        usageTrend: 'up' | 'down' | 'stable';
        errorTrend: 'up' | 'down' | 'stable';
    };
}
/**
 * Metrics Dashboard Manager
 */
export declare class MetricsDashboard {
    private metricsPath;
    private sessions;
    private toolMetrics;
    constructor(metricsPath?: string);
    /**
     * Record session start
     */
    startSession(sessionId: string): void;
    /**
     * Record session end
     */
    endSession(sessionId: string): void;
    /**
     * Record message
     */
    recordMessage(sessionId: string, tokens: number, cost: number): void;
    /**
     * Record tool call
     */
    recordToolCall(sessionId: string, toolName: string, success: boolean, duration: number): void;
    /**
     * Get dashboard data
     */
    getDashboardData(days?: number): DashboardData;
    /**
     * Calculate summary statistics
     */
    private calculateSummary;
    /**
     * Calculate daily metrics
     */
    private calculateDailyMetrics;
    /**
     * Calculate trends
     */
    private calculateTrends;
    /**
     * Get trend direction
     */
    private getTrend;
    /**
     * Format dashboard for terminal display
     */
    formatDashboard(days?: number): string;
    /**
     * Export data as JSON
     */
    exportData(): string;
    /**
     * Clear all metrics
     */
    clear(): void;
    /**
     * Load metrics from file
     */
    private loadMetrics;
    /**
     * Save metrics to file
     */
    private saveMetrics;
}
/**
 * Get or create metrics dashboard
 */
export declare function getMetricsDashboard(): MetricsDashboard;
export default MetricsDashboard;
