import type { GitCloneRequest, GitCommandKeys, GitCommandResult, GitExecRequest, GitInitRequest, GitRpcRequest, GitStatusRequest, SimpleGitRpcRequest } from "../shared/git-types.js";
import type { ApiEnvelope, AppState } from "../utils.js";
export declare const SIMPLE_GIT_RPC_COMMANDS: Set<string>;
export declare function gitStatus(state: AppState, body: GitStatusRequest): Promise<ApiEnvelope<GitCommandResult>>;
export declare function gitExec(state: AppState, body: GitExecRequest): Promise<ApiEnvelope<GitCommandResult>>;
export declare function gitClone(state: AppState, body: GitCloneRequest): Promise<ApiEnvelope<{
    repo_path: string;
    tracked_files_count: number;
    tracked_files: string[];
    tracked_files_truncated: boolean;
    command: GitCommandResult;
}>>;
export declare function gitInit(state: AppState, body: GitInitRequest): Promise<ApiEnvelope<GitCommandResult>>;
export declare function simpleGitRpc(state: AppState, body: SimpleGitRpcRequest): Promise<ApiEnvelope<unknown>>;
export declare function gitRpc(state: AppState, body: GitRpcRequest<GitCommandKeys>): Promise<ApiEnvelope<unknown>>;
//# sourceMappingURL=git.d.ts.map