export type StoredFetchRecord = { id: string; url: string; title: string | null; text: string; extraction: string; createdAt: number; }; /** Pi session JSONL custom entry type (not sent to the model). */ export declare const FETCH_CONTENT_CUSTOM_TYPE = "pi-search-fetch-content"; /** Drop restored entries older than this (limits session file + memory). */ export declare const SESSION_RESTORE_TTL_MS: number; export declare function putFetchContent(input: { url: string; title: string | null; text: string; extraction: string; }): { id: string; record: StoredFetchRecord; storedChars: number; truncatedForStore: boolean; }; export declare function getFetchContent(id: string): StoredFetchRecord | null; export declare function listFetchContent(): StoredFetchRecord[]; export declare function clearFetchContentStore(): void; export declare function isValidStoredFetchPayload(data: unknown): data is StoredFetchRecord; type SessionBranchEntry = { type: string; customType?: string; data?: unknown; }; export type FetchSessionRestoreContext = { sessionManager: { getBranch: () => SessionBranchEntry[]; }; }; /** Rebuild in-memory store from Pi session custom entries (resume / branch). */ export declare function restoreFetchContentFromSession(ctx: FetchSessionRestoreContext, options?: { ttlMs?: number; }): number; /** Characters returned inline from web_fetch before pointing at stored full text. */ export declare const WEB_FETCH_INLINE_MAX_CHARS = 30000; export {}; //# sourceMappingURL=content-store.d.ts.map