import type { AgentSessionRuntime } from "@earendil-works/pi-coding-agent"; import { type AsyncProcessResult, type RunProcessOptions } from "../process.js"; import { type CommandControllerHost } from "./command-host.js"; export type GitAssistantKind = "review" | "commit-message"; type GitProcessRunner = (command: string, args?: readonly string[], options?: RunProcessOptions) => Promise; type GitAssistantRunner = (runtime: AgentSessionRuntime, kind: GitAssistantKind, diff: string) => Promise; export type GitCommandActionsDeps = { runProcess?: GitProcessRunner; generateGitAssistantText?: GitAssistantRunner; }; export declare class GitCommandActions { private readonly host; private readonly runProcess; private readonly generateGitAssistantText; constructor(host: CommandControllerHost, deps?: GitCommandActionsDeps); runCodeReviewCommand(): Promise; runCommitMessageCommand(): Promise; private gitRoot; private trackedDiff; private reviewInput; private untrackedFiles; } export declare function generateGitAssistantText(runtime: AgentSessionRuntime, kind: GitAssistantKind, diff: string): Promise; export declare function loadGitAssistantModelRefs(cwd: string, kind: GitAssistantKind, homeDir?: string): string[]; export {};