import { M as Message, S as SessionStats } from '../protocol-BQ12Aw5J.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 MetadataEntry, a9 as MetadataUpdatedPayload, aa as ModeChangedPayload, ab as ModelConfig, ac as ModelSessionStats, ad as PathConfirmPayload, ae as PathConfirmationReason, af as PendingPathConfirmationPayload, ag as PhaseChangedPayload, ah as PreparingToolCall, ai as Project, aj as ProjectDeletedPayload, ak as ProjectListPayload, al as ProjectStatePayload, am as PromptContext, an as PromptContextMessage, ao as PromptContextTool, ap as PromptRequestOptions, aq as Provider, ar as ProviderBackend, as as ProviderChangedPayload, at as QueueAddedEvent, au as QueueCancelledEvent, av as QueueDrainedEvent, aw as QueueEvent, ax as QueueEventType, ay as QueueStatePayload, az as QueuedMessage, aA as RecentUserPrompt, aB as ServerMessage, aC as ServerMessageType, aD as Session, aE as SessionListPayload, aF as SessionLoadPayload, aG as SessionMetadata, aH as SessionMode, aI as SessionNameGeneratedPayload, aJ as SessionPhase, aK as SessionRunningPayload, aL as SessionStatePayload, aM as SessionSummary, aN as StatsDataPoint, aO as StatsIdentity, aP as TaskCompletedPayload, aQ as Todo, aR as ToolCall, aS as ToolMode, aT as ToolName, aU as ToolResult, aV as ValidationResult, aW as createClientMessage, aX as createServerMessage, aY as isClientMessage, aZ as isServerMessage } from '../protocol-BQ12Aw5J.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 };
