import type { ImageContent, TextContent } from "@earendil-works/pi-ai"; import type { AgentMessage } from "../../types.ts"; import type { SessionContext, SessionMetadata, SessionStorage, SessionTreeEntry } from "../types.ts"; export declare function buildSessionContext(pathEntries: SessionTreeEntry[]): SessionContext; export declare class Session { private storage; constructor(storage: SessionStorage); getMetadata(): Promise; getStorage(): SessionStorage; getLeafId(): Promise; getEntry(id: string): Promise; getEntries(): Promise; getBranch(fromId?: string): Promise; buildContext(): Promise; getLabel(id: string): Promise; getSessionName(): Promise; private appendTypedEntry; appendMessage(message: AgentMessage): Promise; appendThinkingLevelChange(thinkingLevel: string): Promise; appendModelChange(provider: string, modelId: string): Promise; appendCompaction(summary: string, firstKeptEntryId: string, tokensBefore: number, details?: T, fromHook?: boolean): Promise; appendCustomEntry(customType: string, data?: unknown): Promise; appendCustomMessageEntry(customType: string, content: string | (TextContent | ImageContent)[], display: boolean, details?: T): Promise; appendLabel(targetId: string, label: string | undefined): Promise; appendSessionName(name: string): Promise; moveTo(entryId: string | null, summary?: { summary: string; details?: unknown; fromHook?: boolean; }): Promise; } //# sourceMappingURL=session.d.ts.map