export interface LivingPackVersion {
    /** semver string the pack was installed at. */
    base: string;
    /** monotonic count of promoted lessons. 0 = fresh install with no promotions. */
    revision: number;
}
/**
 * Read the user-scope personal_revision/version.json for `packId` and
 * return a `{base, revision}` triple. Returns null when:
 *  - the pack isn't user-installed (no `~/.opensquid/packs/<id>/` dir)
 *  - version.json is absent (fresh install before any promotion)
 *
 * Throws on malformed JSON (LP.1 contract — engine-written file,
 * unexpected content is a real bug worth surfacing).
 */
export declare function getLivingPackVersion(packId: string): Promise<LivingPackVersion | null>;
//# sourceMappingURL=living_pack.d.ts.map