/** * Public-facing catalog view for `/onboarding-guides`. * * Two data modes: * - **controlled** (hub SSR): pass `initialGuides` + `initialSections` * (server-fetched; section changes re-render the host with new props). * - **self-fetching** (config-only embed): omit the data props and pass * `guidesEndpoint` + `sectionsEndpoint` (the api routes). The view fetches * the guides (refetching on `?section=` change) + the section list itself — * no host data layer. (Plain fetch + useEffect, the DeliveryLists pattern.) * * The view renders ONLY its body + its OWN controls (the RAG `` + * dynamic section pills — onboarding's controls are content-driven, unlike the * static search/filter the `DevSectionView` chrome ships). It does NOT render the * page chrome: the CALLER wraps it in `` * (hero + back button), exactly like the roadmap / releases / delivery pages — so * every dev-center surface composes the same way and the view stays embeddable in * tabbed contexts. Card hrefs flow through `runtime.composeContentUrl`. */ import { type ReactNode } from 'react'; import type { OnboardingGuide } from '../chat/types/entities/onboarding-guide'; type SectionSummary = { section: string; section_order: number; count: number; }; export interface OnboardingGuidesCatalogViewProps { /** Controlled / SSR: server-fetched guides. Omit + pass `guidesEndpoint` * for the self-fetching config-only mode. */ initialGuides?: OnboardingGuide[]; initialSections?: SectionSummary[]; initialSection?: string; /** Self-fetch: GET list endpoint (the api route). Appends `?section=`. */ guidesEndpoint?: string; /** Self-fetch: GET section-summary endpoint (the api route). */ sectionsEndpoint?: string; /** Optional per-row card renderer override. */ renderCard?: (guide: OnboardingGuide) => ReactNode; /** Base path the catalog is mounted under (fallback href prefix + `?section=` * push target). Default `/onboarding-guides`. */ basePath?: string; } export declare function OnboardingGuidesCatalogView({ initialGuides, initialSections, initialSection, guidesEndpoint, sectionsEndpoint, renderCard, basePath, }: OnboardingGuidesCatalogViewProps): import("react").JSX.Element; export {}; //# sourceMappingURL=onboarding-guides-catalog-view.d.ts.map