import * as O from 'fp-ts/Option';
import { PushResult, SimpleGit } from 'simple-git';
declare type Option = O.Option;
export interface TempGit {
readonly git: SimpleGit;
readonly dir: string;
}
export declare const initInTempFolder: (bare?: boolean) => Promise;
export declare const cloneIn: (gitUrl: string, dir: string) => Promise;
export declare const cloneInTempFolder: (gitUrl: string, temp?: Option) => Promise;
export declare const checkoutNewBranch: (git: SimpleGit, branchName: string) => Promise;
export declare const currentBranch: (git: SimpleGit) => Promise;
export declare const push: (git: SimpleGit) => Promise;
export declare const pushOneTag: (git: SimpleGit, tagName: string) => Promise;
export declare const currentRevisionShortSha: (git: SimpleGit) => Promise;
export declare const remoteBranchNames: (git: SimpleGit) => Promise;
export declare const doesRemoteBranchExist: (git: SimpleGit, branchName: string) => Promise;
export declare const pushUnlessDryRun: (dir: string, git: SimpleGit, dryRun: boolean) => Promise;
export declare const branchShouldNotExist: (git: SimpleGit, branchName: string) => Promise;
export declare const checkout: (git: SimpleGit, branchName: string) => Promise;
export declare const checkoutMainBranch: (git: SimpleGit) => Promise;
export declare const detectGitUrl: (g: SimpleGit) => Promise;
export declare const resolveGitUrl: (gitUrlArg: Option, workingDirArg: string) => Promise;
export declare const hasLocalChanges: (workingDir: string, branchName: string) => Promise;
export declare const getTags: (g: SimpleGit) => Promise;
export {};
//# sourceMappingURL=Git.d.ts.map