/** * Re-render a release's body with shiki-highlighted code fences. Node * only — returns the input unchanged in the browser (the plain `marked` * `
` already shipped). Call this in a build step / SSR pass. */ export declare const highlightRelease: (release: Release) => Promise; /** * Parse a raw-string glob map into typed releases, sorted reverse- * chronologically (newest first). Invalid frontmatter (missing version * or releasedAt) is skipped. Slugs default to a slugified version. * * By default, `draft: true` releases and `releasedAt`-in-the-future releases * are EXCLUDED — so you can stage an upcoming release in `content/releases/` * without it leaking into the rendered list or RSS feed. Override per flag * (`includeDrafts` / `includeFuture`) — e.g. a preview build. */ export declare const loadReleases: (sources: Readonly >, options?: LoadReleasesOptions) => ReadonlyArray ; /** Options for `loadReleases`. */ export declare interface LoadReleasesOptions { /** Include releases whose frontmatter has `draft: true`. Default `false` * (drafts are excluded from the rendered list + RSS feed). */ readonly includeDrafts?: boolean; /** Include releases whose `releasedAt` is in the FUTURE relative to `now`. * Default `false` (future-dated releases are staged-but-hidden until the * date arrives — no rebuild needed if the site re-renders after it passes). */ readonly includeFuture?: boolean; /** The "now" instant future-dating is compared against. Default: the current * wall clock. Inject for deterministic builds/tests. */ readonly now?: Date; } /** A single parsed release. */ export declare interface Release { readonly version: string; readonly releasedAt: string; readonly slug: string; readonly tags: ReadonlyArray ; readonly title: string; readonly summary: string; readonly coverImage?: string; /** `true` when the frontmatter carries `draft: true` — excluded from * `loadReleases` output by default (pass `includeDrafts` to keep it). */ readonly draft: boolean; /** The release body: markdown source, sans frontmatter. Rendered by * `marked` — this is markdown, not evaluated MDX. */ readonly body: string; /** HTML-rendered body. Plain ` ` until `highlight()` runs (node). */ readonly html: string; } export declare const RELEASE_TAGS: ReadonlyArray; /** A changelog release tag. */ export declare type ReleaseTag = 'feature' | 'fix' | 'breaking' | 'security' | 'performance'; /** * Render an RSS 2.0 feed body from releases. `siteUrl` is the base URL * each release links under (` / `). Every release becomes * an ` - ` with title, summary, link, and pubDate. */ export declare const renderReleaseRss: (releases: ReadonlyArray
, siteUrl: string, options?: RssOptions) => string; export declare interface RssOptions { /** Feed ` `. Defaults to "Changelog". */ readonly title?: string; /** Feed ` `. */ readonly description?: string; } export { }