/**
 * `<ProductReleasesView />` — 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 `<ProductReleaseCard>` 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<ProductReleaseCardProps, 'title' | 'summary' | 'version' | 'size' | 'anchorProps' | 'onClick' | 'className'>;
export interface ProductReleasesViewProps {
    /** GET endpoint for the releases list (the api route). The view appends
     *  `?limit&offset&<search>&<release_status>`. 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