import type { FileEntry, SessionHeader } from "./session-manager-types.ts"; export declare function parseStoredSessionEntries(content: string): FileEntry[]; export declare function upgradeStoredSessionEntries(entries: FileEntry[], path: string): FileEntry[]; /** Exported for testing */ export declare function loadEntriesFromFile(filePath: string): FileEntry[]; export declare function parseSessionEntries(content: string): FileEntry[]; export declare function readSessionHeader(filePath: string): SessionHeader | null; /** Returns true only for workflow-owned sessions with a complete classification marker. */ export declare function isInternalHeader(header: SessionHeader | null | undefined): boolean; export declare function getSessionHeaderCwd(header: SessionHeader): string | undefined; /** Exported for testing */ export declare function findMostRecentSession(sessionDir: string, cwd?: string, includeInternal?: boolean): string | null; export declare function serializeSessionEntries(entries: FileEntry[]): string; /** * A new session file is created only once the session contains a user or assistant message. * Setup entries alone (model, thinking level) stay in memory, so opening and closing without * chatting leaves no file behind. Starting at the user message (not the first assistant reply) * keeps the prompt on disk if the first turn never completes. */ export declare function hasConversationMessage(entries: FileEntry[]): boolean; export declare function ensureDirectory(dir: string): void; //# sourceMappingURL=session-manager-storage.d.ts.map