import { type AgentSessionEvent, type AgentSessionSnapshot, type AgentSessionStatus, type AgentSessionViewModel } from "../contracts/agent"; export interface AgentSessionEventGap { expectedSequence: number; receivedSequence: number; } export interface AgentSessionEventProjection { sessionId: string; events: AgentSessionEvent[]; lastSequence: number; status: AgentSessionStatus; resumable: boolean; gap?: AgentSessionEventGap; } export declare function createAgentSessionEventProjection(sessionId: string): AgentSessionEventProjection; export declare function projectAgentSessionEvents(current: AgentSessionEventProjection, candidates: readonly unknown[]): AgentSessionEventProjection; export declare function toAgentSessionViewModel(projection: AgentSessionEventProjection, snapshot: AgentSessionSnapshot): AgentSessionViewModel; //# sourceMappingURL=agent-session-projector.d.ts.map