/** Injectable collaborators for {@link runInstallMergeDriver}. */
export interface InstallMergeDriverDependencies {
    /** Working directory used to resolve a relative project path. */
    readonly cwd?: string;
    /** Sink for the outcome line (defaults to stdout). */
    readonly log?: (message: string) => void;
    /** Sink for a real registration failure (defaults to stderr). */
    readonly error?: (message: string) => void;
}
/**
 * Register the merge driver for one project.
 * Exit code distinguishes a benign non-event from a real failure: a directory
 * that is not a git repository passes (nothing to register), but a git-config
 * write that failed exits non-zero. Reporting success there would tell an
 * operator the ledger is protected when it is not.
 * @param targetPath - Optional project directory (default: current directory)
 * @param dependencies - Injectable collaborators for tests
 * @returns Process exit code: 0 registered/unchanged/not-a-repo, 1 failed
 */
export declare function runInstallMergeDriver(targetPath: string | undefined, dependencies?: InstallMergeDriverDependencies): Promise<number>;
//# sourceMappingURL=install-merge-driver-cmd.d.ts.map