import { M as Message, S as SessionStats } from '../protocol-CdVNdXi8.js';
export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, c as Attachment, B as BackgroundProcess, d as BackgroundProcessExitedPayload, e as BackgroundProcessOutputPayload, f as BackgroundProcessRemovedPayload, g as BackgroundProcessStartedPayload, h as BackgroundProcessStatus, C as CallStatsDataPoint, i as ChatAskUserPayload, j as ChatDeltaPayload, k as ChatDonePayload, l as ChatErrorPayload, m as ChatFormatRetryPayload, n as ChatMessagePayload, o as ChatMessageUpdatedPayload, p as ChatPathConfirmationPayload, q as ChatProgressPayload, r as ChatThinkingPayload, s as ChatTodoPayload, t as ChatToolCallPayload, u as ChatToolOutputPayload, v as ChatToolPreparingPayload, w as ChatToolResultPayload, x as ChatVisionFallbackPayload, y as ClientMessage, z as ClientMessageType, D as Config, E as ContextCompactionEvent, F as ContextState, G as ContextStatePayload, H as ContextWindow, I as CriteriaUpdatedPayload, J as Criterion, K as CriterionAttempt, L as CriterionStatus, N as CriterionValidation, O as DangerLevel, P as DevServerOutputPayload, Q as DevServerStatePayload, R as Diagnostic, T as EditContextEdit, U as EditContextLine, V as EditContextRegion, W as ElementData, X as ErrorPayload, Y as ExecutionState, Z as FileReadEntry, _ as GitDiffFile, $ as GitStatusPayload, a0 as InjectedFile, a1 as LLMCallStats, a2 as LlmBackend, a3 as LogLine, a4 as LspDiagnosticsPayload, a5 as MessageRole, a6 as MessageSegment, a7 as MessageStats, a8 as ModeChangedPayload, a9 as ModelConfig, aa as ModelSessionStats, ab as PathConfirmPayload, ac as PathConfirmationReason, ad as PendingPathConfirmationPayload, ae as PhaseChangedPayload, af as PreparingToolCall, ag as Project, ah as ProjectDeletedPayload, ai as ProjectListPayload, aj as ProjectStatePayload, ak as PromptContext, al as PromptContextMessage, am as PromptContextTool, an as PromptRequestOptions, ao as Provider, ap as ProviderBackend, aq as ProviderChangedPayload, ar as QueueAddedEvent, as as QueueCancelledEvent, at as QueueDrainedEvent, au as QueueEvent, av as QueueEventType, aw as QueueStatePayload, ax as QueuedMessage, ay as RecentUserPrompt, az as ServerMessage, aA as ServerMessageType, aB as Session, aC as SessionListPayload, aD as SessionLoadPayload, aE as SessionMetadata, aF as SessionMode, aG as SessionNameGeneratedPayload, aH as SessionPhase, aI as SessionRunningPayload, aJ as SessionStatePayload, aK as SessionSummary, aL as StatsDataPoint, aM as StatsIdentity, aN as TaskCompletedPayload, aO as Todo, aP as ToolCall, aQ as ToolMode, aR as ToolName, aS as ToolResult, aT as ValidationResult, aU as createClientMessage, aV as createServerMessage, aW as isClientMessage, aX as isServerMessage } from '../protocol-CdVNdXi8.js';

/**
 * Session stats computation - aggregates response-level MessageStats from
 * multiple assistant messages into SessionStats for benchmarking and trends.
 */

/**
 * Compute aggregated session stats from an array of messages.
 *
 * Returns null if no messages have stats.
 *
 * Weighted average for speeds: totalTokens / totalTime
 * This gives accurate average throughput across varying context sizes.
 */
declare function computeSessionStats(messages: Message[]): SessionStats | null;

export { Message, SessionStats, computeSessionStats };
