/**
* `` — the shared, SELF-CONTAINED releases LIST surface.
*
* The host configures only two things: the **api route** (`endpoint`, default
* `/api/releases`) and the **internal page route** for a release's detail page
* (via `runtime.composeContentUrl` / `basePath`). Everything else — reading the
* search / status / page URL params the section chrome writes, fetching the
* page, pagination, empty / error / loading states, card composition + nav —
* happens INSIDE the lib. Mirrors the `DeliveryLists` internal-fetch pattern
* (plain `fetch` + `useEffect`/`useState`, no react-query dependency).
*
* SSR: pass `initialData` to hydrate the first page without a client round-trip
* (the hub can server-fetch); embedders omit it and the view fetches on mount.
*
* Card props: `buildCardProps` defaults to the lib's RICH `buildProductReleaseCardProps`
* (full lg metadata — Type / Status / author / changelog counts); pass your own to customize.
*/
import * as React from 'react';
import type { ProductRelease, ProductReleaseListResponse } from '../../../types/product-release';
import { type ProductReleaseCardProps } from './product-release-card';
/** The `` props the caller derives per release — the card's
* own data fields minus the ones this view supplies (title/summary/version/
* size/nav). `formattedDate` stays required so the spread satisfies the card. */
export type ProductReleaseCardExtras = Omit;
export interface ProductReleasesViewProps {
/** GET endpoint for the releases list (the api route). The view appends
* `?limit&offset&&`. Default `/api/releases`. */
endpoint?: string;
/** Optional SSR hydrate for the first page — skips the initial client fetch. */
initialData?: ProductReleaseListResponse;
/** Page size → fixed slot count + offset math. Default 5. */
itemsPerPage?: number;
/** Fallback detail-href prefix when `runtime.composeContentUrl` is not wired
* (single-platform embedders). Default `/releases`. */
basePath?: string;
/** Derive the per-card prop bundle. Defaults to the lib's RICH lg builder
* (`buildProductReleaseCardProps` — full Type/Status/author/changelog metadata)
* so embedders get the complete card with zero config; pass your own to customize. */
buildCardProps?: (release: ProductRelease) => ProductReleaseCardExtras;
/** URL param key for the search input. MUST match the chrome that writes it.
* Default `'search'` (also the outbound query-param name). */
searchParamKey?: string;
/** URL param key for the status filter. Default `'release_status'`. */
statusParamKey?: string;
/** URL param key for the page number. Default `'page'`. */
pageParamKey?: string;
className?: string;
}
export declare function ProductReleasesView({ endpoint, initialData, itemsPerPage, basePath, buildCardProps, searchParamKey, statusParamKey, pageParamKey, className, }?: ProductReleasesViewProps): React.JSX.Element;
//# sourceMappingURL=product-releases-view.d.ts.map