import { ComponentType, type ReactNode } from 'react'; import type { VideoTeaser } from '../../../types/video-processing'; import { type VideoBiteStripProfile } from '../../features/video-bites-shared'; export interface MarkdownRendererProps { content: string; } import type { RoadmapItem } from '../../chat/types/entities/roadmap-item'; import type { DeliveryResponse } from '../../../types/delivery'; export type { RoadmapItem, DeliveryResponse }; export interface RoadmapSectionProps { items: RoadmapItem[]; isLoading: boolean; onItemUpdate?: (item: RoadmapItem) => void; } export interface DeliverySectionProps { data: DeliveryResponse | null; isLoading: boolean; } export interface UseReleaseResult { data: unknown; error: Error | null; isLoading: boolean; } export interface VideoDisplaySectionProps { mainVideoUrl?: string | null; youtubeUrl?: string | null; highlightVideoUrl?: string | null; highlightVideoThumbnail?: string | null; mainVideoPoster?: string | null; title?: string; videoSummary?: string | null; videoBites?: VideoTeaser[]; bitesTitle?: string; filterPublishedBites?: boolean; /** Profile shown in the bites strip's hover overlay (kit sources it from release.author). */ bitesProfile?: VideoBiteStripProfile | null; /** Overlay-footer navigation target (the release the bites originated from). */ bitesHref?: string; srtContent?: string | null; captionsUrl?: string | null; /** VTT captions URL for the highlight reel (variant=highlight). */ highlightCaptionsUrl?: string | null; } export interface ReleaseDetailPageProps { slug: string; initialData?: unknown; useRelease: (slug: string | undefined) => UseReleaseResult; MarkdownRenderer?: ComponentType; RoadmapSection?: ComponentType; DeliverySection?: ComponentType; /** Injectable video display section with tabs for full/highlight video + summary + bites */ VideoDisplaySection?: ComponentType; roadmapApiEndpoint?: string; deliveryApiEndpoint?: string; /** Back-button config — same pattern as `DevSectionPage` / * `LegalDocumentPage`. Pass `false` to hide. Default * `{ label: 'Back to home', href: '/' }`. */ backButton?: { label?: string; href?: string; } | false; /** Link target for the author name in the metadata grid — the host * computes it (public author page; absent ⇒ plain text). */ authorHref?: string; /** Optional slot rendered inside the page chrome, BELOW the article body — * e.g. the hub's end-of-article author byline + related-content / FAQ rail. * Lets the hub mount this page directly (no local wrapper component) while * embedders that don't have those extras simply 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 ReleaseDetailPage({ authorHref, slug, initialData, useRelease, MarkdownRenderer, RoadmapSection, DeliverySection, VideoDisplaySection, roadmapApiEndpoint, deliveryApiEndpoint, backButton, relatedContent, shell }: ReleaseDetailPageProps): import("react").JSX.Element; //# sourceMappingURL=release-detail-page.d.ts.map