import type { FontConfig, SectionConfig } from "./types.js"; interface PageData { slug: string; title: string; description: string; date: string | null; category: string; path: string; categoryOrder: number; order: number; section: string; } /** * Root layout ("app/layout.tsx"). Minimal shell: html/body, fonts, the theme * provider stack, and (optionally) PostHog. It renders `children` directly so * both the docs (via the "(site)" layout) and the password gate ("app/gate") * share the same providers and theme without the docs chrome. Deliberately has * NO request-time data (cookies/headers) so pages stay statically renderable — * the SITE_PASSWORD gate is enforced in the middleware (proxy.ts), which * rewrites locked page requests to "/gate". */ export declare const rootLayoutTemplate: (fontConfig: FontConfig | null, analyticsEnabled?: boolean) => string; /** * Docs chrome layout ("app/(site)/layout.tsx"). Wraps every documentation page * with the header, sidebar/section navigation, chat, and footer. Lives in the * URL-transparent "(site)" route group so it wraps the docs but NOT the gate * screen at "/gate", which renders under the root shell alone. Renders inside * the root layout's providers, so it needs no html/body or theme provider. */ export declare const siteLayoutTemplate: (pages: PageData[], sectionsConfig?: SectionConfig[] | null) => string; export {};