/**
* Generates `lib/ai-chat/session-store.js`, the home of the chat transcript
* while the visitor moves around the site.
*
* WHY THIS EXISTS. The chat is a component instance placed on each page, so
* navigating unmounts it and React throws its state away — the visitor loses
* the conversation by clicking a link.
*
* TWO LAYERS, deliberately:
*
* - a `globalThis` bag, which carries the transcript through a client-side
* navigation (Next's ``) without touching storage at all;
* - `sessionStorage`, which carries it through a FULL document load — the
* language switcher is a plain ``, and typing a URL does the
* same thing. Both tear down the JavaScript context, so an in-memory bag
* alone loses the conversation exactly when the visitor changes language.
*
* ⛔ sessionStorage would also survive a refresh, which is NOT wanted: a
* refresh starts a new conversation. That is what the reload check is for —
* `PerformanceNavigationTiming.type` tells a reload apart from a navigation,
* so the stored transcript is dropped on F5 and kept on everything else.
* It is scoped to one tab by definition, so a second tab starts clean.
*
* The conversation id travels with the transcript because the two are one
* thing: the server appends to a conversation row by id (`ON CONFLICT (id) DO
* UPDATE`), so restoring messages without the id would show the visitor a
* history the database no longer believes in, and restoring the id without the
* messages would leave the assistant answering with no visible context.
*/
/** Emitted next to `localized-messages`, under `lib/ai-chat/`. */
export declare const AI_CHAT_SESSION_STORE_FILE = "session-store";
export declare function generateAIChatSessionStoreCode(): string;
//# sourceMappingURL=session-store.d.ts.map