import { type UlwLoopScope } from "./paths.js"; import { type UlwLoopLedgerEntry, type UlwLoopPlan } from "./types.js"; interface CommitHooks { readonly beforeMutation?: () => void | Promise; readonly beforeCommit?: () => void | Promise; readonly afterCommit?: () => void | Promise; readonly link?: (source: string, destination: string) => void; readonly writeView?: (path: string, content: string) => Promise; } export declare function withCommitHooks(value: CommitHooks, fn: () => Promise): Promise; export declare function beforePlanMutation(): Promise; export declare function writeViewFile(path: string, content: string): Promise; export declare function commit(repoRoot: string, scope: UlwLoopScope | undefined, mutation: { readonly plan: UlwLoopPlan; readonly entries: readonly UlwLoopLedgerEntry[]; }): Promise; export declare function materializeSync(dir: string): void; export declare function materialize(dir: string): Promise; export {};