import { type UlwLoopScope } from "./paths.js"; import { type StateLockOptions } from "./state-lock.js"; import { type UlwLoopLedgerEntry, type UlwLoopPlan } from "./types.js"; export declare function readLedger(repoRoot: string, scope?: UlwLoopScope): UlwLoopLedgerEntry[]; export { planExists } from "./plan-log.js"; export declare function withMutationLockOptions(options: StateLockOptions, fn: () => Promise): Promise; export declare function assertStateLockOwned(lockPath: string): void; export declare function migrationEntries(plan: UlwLoopPlan): readonly UlwLoopLedgerEntry[]; export declare function withUlwLoopMutationLock(repoRoot: string, fn: () => Promise): Promise; export declare function withUlwLoopMutationLock(repoRoot: string, scope: UlwLoopScope | undefined, fn: () => Promise, options?: StateLockOptions): Promise; export declare function readUlwLoopPlanSync(repoRoot: string, scope?: UlwLoopScope): UlwLoopPlan; export declare function readUlwLoopPlan(repoRoot: string, scope?: UlwLoopScope): Promise; export declare function listUlwLoopSessionIds(repoRoot: string): readonly string[]; export declare function writePlan(repoRoot: string, plan: UlwLoopPlan, scope?: UlwLoopScope): Promise; export declare function appendLedger(repoRoot: string, entry: UlwLoopLedgerEntry, scope?: UlwLoopScope): Promise; export declare function appendLedgerEntries(repoRoot: string, entries: readonly UlwLoopLedgerEntry[], scope?: UlwLoopScope): Promise; export declare function readSteeringLedgerEntries(repoRoot: string, scope?: UlwLoopScope): Promise; export declare function findAcceptedSteeringLedgerEntry(repoRoot: string, key: string, scope?: UlwLoopScope): Promise;