export interface GitResult { status: number; stdout: string; stderr: string; timedOut?: boolean; } export interface GitSyncOptions { timeoutMs?: number; } export declare function gitSync(args: string[], cwd?: string, input?: string, options?: GitSyncOptions): GitResult; export declare function gitAsync(args: string[], cwd?: string): Promise; export declare function clone(url: string, dest: string, opts?: { ref?: string; depth?: number; }): GitResult; export declare function pull(cwd: string): GitResult; export declare function fetch(cwd: string, ref?: string): GitResult; export declare function lsRemote(url: string): GitResult; export declare function currentSha(cwd: string): string | null; export declare function remoteSha(cwd: string, ref: string): string | null; export declare function isGitRepo(cwd: string): boolean; export declare function deriveNameFromUrl(url: string): string;