/**
 * Public-facing detail view for `/onboarding-guides/<slug>`.
 *
 * 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
     *  `<SimpleMarkdownRenderer>`. */
    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;
}
export declare function OnboardingGuideDetailView({ authorHref, authorBio, fallbackBio, initialData, slug, guideEndpoint, related, MarkdownRenderer, renderRelatedCard, backHref, backLabel, basePath, }: OnboardingGuideDetailViewProps): import("react").JSX.Element;
//# sourceMappingURL=onboarding-guide-detail-view.d.ts.map