export interface GitRunner { (args: readonly string[], cwd?: string, env?: NodeJS.ProcessEnv): Promise<{ stdout: string; stderr: string; }>; } export interface GitOptions { runner?: GitRunner; env?: NodeJS.ProcessEnv; } export interface CheckoutOptions extends GitOptions { force?: boolean; } export declare function withHardening(args: readonly string[]): string[]; export declare function clone(url: string, dest: string, opts?: GitOptions): Promise; export declare function fetch(repo: string, opts?: GitOptions): Promise; export declare function listTags(repo: string, opts?: GitOptions): Promise; export declare function checkout(repo: string, ref: string, opts?: CheckoutOptions): Promise; export declare function getCommitSha(repo: string, opts?: GitOptions): Promise; export declare function tryRevParse(repo: string, rev: string, opts?: GitOptions): Promise; export declare function getDefaultBranch(repo: string, opts?: GitOptions): Promise;