import { type ParsedAbsolutePath } from "./argument.js"; import { type CommandRunner } from "./process.js"; export interface GitRepository { readonly root: ParsedAbsolutePath; readonly gitDir: ParsedAbsolutePath; } export interface HerdrCapability { readonly repository: GitRepository; readonly herdrVersion: string; readonly cache: "memory" | "detected"; } export declare class HerdrUnavailableError extends Error { constructor(message: string, options?: ErrorOptions); } /** * The capability is a property of the running session, not of the repository, so it is only * held in memory. Nothing is written to the repository. */ export declare class HerdrCapabilityResolver { #private; constructor(runner?: CommandRunner, environment?: Readonly>, now?: () => number); ensure(cwd: string, signal?: AbortSignal): Promise; /** * Never throws, unlike `ensure`. A failed detection is cached for a short time, so a caller that * runs on every agent start does not spawn `git` and `herdr` every turn. */ tryEnsure(cwd: string, signal?: AbortSignal): Promise; forget(cwd: string): void; } //# sourceMappingURL=capability.d.ts.map