import type { SessionSummary, ErrorGroup, PaginatedErrors, ErrorTimelineBucket } from '../../types.js';
/**
 * Parses Claude Code JSONL session logs from ~/.claude/projects/<slug>/
 * to extract session summaries, errors, and usage data.
 *
 * Tool name resolution: when a tool_result has is_error: true, we look up
 * the matching tool_use block (by tool_use_id) from the preceding assistant
 * message to extract the tool name and input args.
 */
export declare class ClaudeLogParser {
    private logDir;
    /** Cache of parsed sessions keyed by file mtime to avoid re-parsing */
    private sessionCache;
    /** In-flight deduplication: concurrent calls share the same pending promise */
    private pendingSummaries;
    /** Aggregate-level cache to avoid re-parsing on rapid successive calls */
    private summariesCache;
    private summariesCacheTime;
    private readonly summariesCacheTTL;
    constructor(projectRoot: string);
    /** Get recent session summaries with error counts */
    getSessionSummaries(limit?: number): Promise<SessionSummary[]>;
    /** Internal: parallel-fetch session summaries */
    private fetchSummaries;
    /** Get paginated errors with real total count */
    getRecentErrors(limit?: number, offset?: number, typeFilter?: string, search?: string): Promise<PaginatedErrors>;
    /** Get error statistics grouped by type */
    getErrorGroups(): Promise<ErrorGroup[]>;
    /** Get full session detail with all errors */
    getSessionDetail(sessionId: string): Promise<SessionSummary | null>;
    /** Get errors grouped into time buckets for timeline visualization */
    getErrorTimeline(bucketMinutes?: number): Promise<ErrorTimelineBucket[]>;
    /** Parse with mtime-based caching */
    private parseSessionFileCached;
    /** Parse a single JSONL session file */
    private parseSessionFile;
    /** Get sorted list of session JSONL files */
    private getSessionFiles;
    /** Classify a system error entry */
    private classifySystemError;
    /** Classify a tool error message */
    private classifyToolError;
    /** Extract human-readable error message */
    private extractErrorMessage;
    /** Summarize tool input for context display */
    private summarizeToolInput;
}
//# sourceMappingURL=claude-log-parser.d.ts.map