/** * Public-facing detail view for `/onboarding-guides/`. * * Two modes: * - **controlled** (hub SSR): pass `initialData` (a server-fetched guide). * - **self-fetching** (config-only embed): pass `slug` + `guideEndpoint` * (the api route) and the view fetches the guide itself — no host data * layer. (Plain fetch + useEffect, the DeliveryLists pattern.) * * Everything else flows through lib primitives + the ChatRuntime context * (markdown, video warmup, captions, related-card hrefs via * `runtime.composeContentUrl`). Optional `MarkdownRenderer` lets hosts swap a * renderer with extra plugins. */ import { type ComponentType, type ReactNode } from 'react'; import type { OnboardingGuide } from '../chat/types/entities/onboarding-guide'; export interface OnboardingGuideDetailViewProps { /** Server-fetched guide (controlled / SSR mode). Omit it and pass * `slug` + `guideEndpoint` for the self-fetching config-only mode. */ initialData?: OnboardingGuide; /** Self-fetch: the guide's slug (the host reads it from its route). */ slug?: string; /** Self-fetch: builds the GET url for a single guide (the api route). * e.g. `(s) => \`/content/api/onboarding-guides/${s}\``. */ guideEndpoint?: (slug: string) => string; related?: OnboardingGuide[]; /** Link target for the author name in the metadata grid — the host * computes it (public author page; absent ⇒ plain text). */ authorHref?: string; /** Bio paragraph for the end-of-article author byline. Defaults to the * guide payload's `author.about` (hubs that hydrate it can omit this). */ authorBio?: string | null; /** Byline fallback paragraph when the bio is empty — the host passes its * platform-aware copy (the lib has no config awareness). Absent ⇒ the * byline renders nothing below the name when the bio is empty. */ fallbackBio?: string | null; /** Optional markdown renderer override. Defaults to lib * ``. */ MarkdownRenderer?: ComponentType<{ content: string; }>; /** Optional per-row related-card renderer override. */ renderRelatedCard?: (guide: OnboardingGuide) => ReactNode; /** Back-link target. Defaults to `basePath`. */ backHref?: string; /** Back-link label. Defaults to "Back to Getting Started". */ backLabel?: string; /** Base path the related-card hrefs default to when * `runtime.composeContentUrl` is not wired. Default `/onboarding-guides`. */ basePath?: string; /** Optional slot rendered inside the page chrome, BELOW the article + related * guides — e.g. the hub's cross-type related-content / FAQ rail. Lets the hub * mount this view directly (no local wrapper); embedders omit it. */ relatedContent?: ReactNode; /** Render the standalone ``. Default true. Pass false when the host * layout already provides the page container — only the padding box renders, * avoiding a nested `
`. */ shell?: boolean; } export declare function OnboardingGuideDetailView({ authorHref, authorBio, fallbackBio, initialData, slug, guideEndpoint, related, MarkdownRenderer, renderRelatedCard, backHref, backLabel, basePath, relatedContent, shell, }: OnboardingGuideDetailViewProps): import("react").JSX.Element; //# sourceMappingURL=onboarding-guide-detail-view.d.ts.map