import type { ImageContent, TextContent } from "@earendil-works/pi-ai"; interface V3EntryBase { id: string; parentId: string | null; timestamp: string; } export type V3Entry = V3EntryBase & ({ type: "message"; message: { role: unknown; }; } | { type: "thinking_level_change"; thinkingLevel: string; } | { type: "model_change"; provider: string; modelId: string; } | { type: "compaction"; summary: string; firstKeptEntryId?: string; tokensBefore: number; } | { type: "branch_summary"; fromId: string; summary: string; } | { type: "custom"; customType: string; data?: unknown; } | { type: "custom_message"; customType: string; content: string | (TextContent | ImageContent)[]; display: boolean; } | { type: "label"; targetId: string; label: string | undefined; } | { type: "session_info"; name?: string; }); export interface V3Session { id: string; createdAt: number; name: string | undefined; entriesById: ReadonlyMap; branch: V3Entry[]; } export declare function isV3SessionFile(path: string): boolean; export declare function pathTo(entriesById: ReadonlyMap, id: string | null): V3Entry[]; export declare function epochMillis(timestamp: string): number; export declare function readV3Session(path: string): V3Session; export {}; //# sourceMappingURL=session-v3.d.ts.map