export interface ChangelogEntry { major: number; minor: number; patch: number; content: string; } /** * Parse changelog entries from a CHANGELOG.md text body. * Scans for ## lines and collects content until next ## or EOF. * Pure and synchronous so it can be reused by the embedded display path. */ export declare function parseChangelogContent(content: string): ChangelogEntry[]; /** * Parse changelog entries from a CHANGELOG.md file on disk. * Returns [] on ENOENT; logs and returns [] on other read/parse errors. */ export declare function parseChangelog(changelogPath: string): Promise; /** * Return changelog entries from the CHANGELOG.md that shipped with this binary. * * The text is embedded at build time via `with { type: "text" }`, so the * displayed changelog is deterministic across compiled binaries, source-tree * dev runs, and `GJC_PACKAGE_DIR` / `PI_PACKAGE_DIR` overrides (which scope to * optional package assets like docs/examples and do not influence the * binary-identity changelog). */ export declare function getDisplayChangelogEntries(): ChangelogEntry[]; export declare function getInstalledVersionChangelogEntry(entries: readonly ChangelogEntry[], installedVersion: string): ChangelogEntry | undefined; /** * Compare versions. Returns: -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2 */ export declare function compareVersions(v1: ChangelogEntry, v2: ChangelogEntry): number; /** * Get entries newer than lastVersion */ export declare function getNewEntries(entries: ChangelogEntry[], lastVersion: string): ChangelogEntry[]; export { getChangelogPath } from "../config";