export interface SessionFrictionOptions { limit?: number; session?: string; since?: string; project?: string; cwd?: string; now?: number; codexHomeDir?: string; codexHomeDirs?: string[]; } export interface SessionFrictionSourceReport { codex_home: string; scanned_files: number; } export interface SessionFrictionRisk { code: string; severity: 'info' | 'warn' | 'high'; message: string; } export interface SessionFrictionSessionReport { session_id: string; started_at: string | null; last_activity_at: string | null; age_minutes: number | null; idle_minutes: number | null; cwd_basename: string | null; cwd_hash: string | null; source: { codex_home: string; transcript_ref: string; }; counters: { records: number; malformed_records: number; bytes: number; user_turns: number; assistant_turns: number; tool_calls: number; tool_outputs: number; }; context_growth: { approx_transcript_kb: number; avg_record_bytes: number; tool_call_ratio: number; }; idle_gaps: { max_gap_minutes: number | null; gaps_over_30m: number; gaps_over_2h: number; }; tool_names: Array<{ name: string; count: number; }>; risks: SessionFrictionRisk[]; } export interface SessionFrictionReport { generated_at: string; privacy: { mode: 'metadata-only'; excludes: string[]; }; scanned_files: number; sources: SessionFrictionSourceReport[]; sessions: SessionFrictionSessionReport[]; } export declare function buildSessionFrictionReport(options?: SessionFrictionOptions): Promise; //# sourceMappingURL=friction.d.ts.map