import type { ChatMessage, JsonObject } from "./types.js"; declare const SCHEMA_VERSION = 1; export interface SessionHeader { schema: typeof SCHEMA_VERSION; sessionId: string; createdAt: string; lastUsedAt: string; model: string; messageCount: number; } export interface SessionState { schema: number; header: SessionHeader; messages: ChatMessage[]; } export declare function newSession(model: string): SessionState; /** * Paperclip `AdapterSessionCodec` implementation. * - `serialize` turns the in-memory session into a plain JSON object * that Paperclip persists in JSONB. * - `deserialize` is the inverse: a JSON object (or null) back into * the session. * - `getDisplayId` returns the short session id for the UI. */ export declare const sessionCodec: { serialize(params: Record | null): Record | null; deserialize(raw: unknown): Record | null; getDisplayId(params: Record | null): string | null; }; export declare function defaultSessionDir(workspacePath?: string): string; export declare function appendTranscript(state: SessionState, event: JsonObject): void; export {}; //# sourceMappingURL=session.d.ts.map