import { ClaudeMessage } from '../types/index.js';
import { JSONLParser } from '../core/jsonl-parser.js';
import { CostCalculator } from '../core/cost-calculator.js';
export interface GroupedStats {
    groupName: string;
    totalCost: number;
    messageCount: number;
    avgCost: number;
    duration: number;
    tokens: {
        input: number;
        output: number;
        cache: number;
        cacheWrite: number;
    };
    cacheEfficiency: number;
    costBreakdown?: {
        inputCost: number;
        outputCost: number;
        cacheWriteCost: number;
        cacheReadCost: number;
    };
    startTime?: string;
    endTime?: string;
    projectName?: string;
    dateRange?: string;
}
export declare class GroupAnalyzer {
    private parser;
    private calculator;
    constructor(parser: JSONLParser, calculator: CostCalculator);
    groupByProject(messages: ClaudeMessage[]): GroupedStats[];
    groupByDate(messages: ClaudeMessage[]): GroupedStats[];
    groupByHour(messages: ClaudeMessage[]): GroupedStats[];
    groupBySession(messages: ClaudeMessage[], filterLastWeek?: boolean): GroupedStats[];
    private calculateGroupStats;
    groupByModel(messages: ClaudeMessage[]): GroupedStats[];
    groupByCostRange(messages: ClaudeMessage[]): GroupedStats[];
}
//# sourceMappingURL=group-analyzer.d.ts.map