import { runDoctor } from '@geonosis/doctor'; import type { CommandResult } from './types.js'; export declare const GROUP_NOTES = "GROUP-CHANGELOG.md"; export declare const BY_HAND_MARK = "BY HAND:"; export type GroupNotes = { byHand: { text: string; version: string; }[]; doneAbove: number; entries: number; ruledOut: number; versions: string[]; }; export declare const byHandMarksAt: (text: string) => number[]; export declare const groupNotesIn: (changelog: string, { done, from, to }: { done?: readonly string[]; from: string | undefined; to: string; }) => GroupNotes; export declare const notesByHandLines: (notes: GroupNotes, from: string | undefined) => string[]; export type PostUpdateContext = { cwd: string; done?: readonly string[]; from: string | undefined; }; export type PostUpdateResult = { lines: string[]; ok: boolean; ran?: false; }; export type PostUpdateStep = { name: string; run: (context: PostUpdateContext) => PostUpdateResult | Promise; }; export declare const writeRulesStep: PostUpdateStep; export declare const checkRulesStep: PostUpdateStep; export declare const censusStep: PostUpdateStep; export declare const agentsStep: PostUpdateStep; export declare const replacedStep: PostUpdateStep; export declare const runtimeStep: PostUpdateStep; export declare const onceStep: PostUpdateStep; export declare const squawkStep: PostUpdateStep; export declare const groupNotesPath: (root: string, copy: string) => string; export declare const notesStep: PostUpdateStep; export declare const tierCommandsStep: PostUpdateStep; export declare const updaterDoctorStep: (doctor?: typeof runDoctor) => PostUpdateStep; export declare const POST_UPDATE_STEPS: readonly PostUpdateStep[]; export declare const POST_UPDATE_USAGE = "geonosis post-update [--from ] \u2014 what the kit version just installed does in a consumer repo after an update: copy its rule files into .claude/rules/geonosis/ and check them, regenerate every AGENTS.md in the tree the ledger wrote that this kit\u2019s ledger would write otherwise (`geonosis ledger sync --target agents-md --write`; an AGENTS.md the ledger did not write is left as it is), add the census of the presets in use (`typescript/no-explicit-any`, and the react plugin\u2019s rules that catch real bugs where `i18n` is in use) to a repo that lacks it, measured as init measures it \u2014 a rule that finds nothing written at error, one that finds something parked at off beside an `oxlintRule` counter that may only shrink, the baseline left to the ratchet, and a rule oxlint resolves the config to running, through `extends`, an override or a category, left as it is \u2014 name a dependency on a package the kit renamed and the way to have bun under the package manager the tree uses, move a ratchet record step an older init wrote as `geonosis-ratchet --record` to `geonosis ratchet --record`, which runs where only geonosis is installed, name a tool the gate runs once as a step and again inside a ratchet counter with the change that makes it run once, then print the group release notes from --from up to this version, with the entries marked BY HAND; an entry whose condition rules it out for --from, or whose step passed in this run, is counted and not listed. It records the kit version it ran for in .geonosis/post-update.json, which geonosis doctor reads. `geonosis update` from 3.3.0 on runs it with the copy it installed, so a step a later release adds reaches the repo; an update run by 3.2.0 or older ran its own steps and not this, and geonosis doctor warns until it has run. Exit 1 when a step failed."; export type PostUpdateInput = { cwd: string; from?: string; steps?: readonly PostUpdateStep[]; unknownFlags?: string[]; }; export declare const runPostUpdate: ({ cwd, from, steps, unknownFlags }: PostUpdateInput) => Promise;