export interface ChangelogEntry {
    major: number;
    minor: number;
    patch: number;
    content: string;
}
/**
 * Parse changelog entries from the file at `changelogPath`. Scans for `## [x.y.z]`
 * headings and collects each block until the next heading or EOF.
 *
 * Returns `[]` when `changelogPath` is `undefined` (package directory not
 * resolvable — see `getChangelogPath`) or the file is missing. Callers MUST NOT
 * synthesize a fallback path from the host project's cwd; doing so caused issue
 * #1423 (the host project's `CHANGELOG.md` was rendered as omp's).
 */
export declare function parseChangelog(changelogPath: string | undefined): Promise<ChangelogEntry[]>;
/**
 * 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.js";
/**
 * Last omp version whose changelog the user has seen. Stored as a plain-text
 * marker file (`~/.omp/agent/last-changelog-version`) rather than in
 * `config.yml`, so version bumps never dirty user-tracked config files.
 */
export declare function readLastChangelogVersion(agentDir?: string): Promise<string | undefined>;
/** Persist the last-seen changelog version marker. Best-effort: failures are logged, never thrown. */
export declare function writeLastChangelogVersion(version: string, agentDir?: string): Promise<void>;
