import type { SessionEntry } from "../../session-manager-types.ts"; import type { SessionRecordHeader, SessionSnapshot, SessionSummary } from "./types.js"; /** Metadata stays bounded by the first message and latest metadata, not the transcript. */ export interface SessionSummaryState { readonly messageCount: number; readonly firstMessage: string; readonly name?: string; readonly hasName: boolean; readonly summary?: string; readonly summarizedThroughId?: string; readonly latestMessageTime: number | null; } export interface SessionSummaryText { readonly index: number; readonly text: string; } /** Applies only this batch; texts contain only contributions from these entries. */ export declare function applySessionSummaryEntries(previous: SessionSummaryState | undefined, entries: readonly SessionEntry[]): { state: SessionSummaryState; texts: readonly SessionSummaryText[]; }; export declare function materializeSessionSummaryMetadata(header: SessionRecordHeader, state: SessionSummaryState): Omit; export declare function summarizeSession({ header, entries }: SessionSnapshot): SessionSummary; //# sourceMappingURL=session-summary.d.ts.map