/** * DevSectionPage — full-page wrapper for a dev-center section * (`/roadmap`, `/bug-fixes-and-enhancements`, `/releases`). * * Mounts the lib's canonical `PageLayout` directly (no in-app wrapper) * so the back-button affordance stays in lockstep with whatever the * design system ships — any future lib change to BackButton / TitleBlock * propagates automatically. * * Composition: `PageShell` → `PageLayout` (back-to-home wired) → * `DevSectionView` (icon hero + search + filter pills) → list body. * * Adding a new section is one entry in `OPENFRAME_DEV_SECTIONS` plus a * single-line page file mounting this factory with the new key. */ import type { ReactNode } from 'react'; import { type OpenframeDevSectionKey } from '../../../utils/dev-sections/openframe-dev-sections'; export interface DevSectionPageProps { sectionKey: OpenframeDevSectionKey; /** The page-specific list body (e.g. ``). */ children: ReactNode; /** Optional slot rendered BETWEEN the hero and search/filter — see * `DevSectionView.preControls`. Used by surfaces that want an entry * action (e.g. Help Center's "Open a new ticket" form) above the * controls instead of below them. */ preControls?: ReactNode; /** Back-button config — same shape as `LegalDocumentPage` / * `ReleaseDetailPage`. Pass `false` to hide entirely. Default * `{ label: 'Back to home', href: '/' }` — embedders whose "home" isn't `/` * should override `href`, or pass `false` if the embed has no home page. */ backButton?: { label?: string; href?: string; } | false; /** Override the hero title. Defaults to the (OpenFrame-specific) copy in * `OPENFRAME_DEV_SECTIONS[sectionKey].hero.title`. Set this to brand the * section for a non-OpenFrame embed. */ title?: string; /** Override the hero subtitle/description. Defaults to * `OPENFRAME_DEV_SECTIONS[sectionKey].hero.description`. */ subtitle?: string; /** Render the standalone `` (own `
` + bg + max-width). Default * `true` — the contract for marketing/hub surfaces with no app shell. Pass * `false` when the host layout already provides the page container (e.g. * openframe-frontend's `AppLayout` `
`): then only the * `page-shell-content` padding box is rendered, avoiding a nested `
`. */ shell?: boolean; } export declare function DevSectionPage({ sectionKey, children, preControls, backButton, title, subtitle, shell, }: DevSectionPageProps): import("react").JSX.Element; //# sourceMappingURL=dev-section-page.d.ts.map