/**
 * 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 `<DocSearchBar>` +
 * 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 `<DevSectionPage sectionKey="onboarding">`
 * (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