import { Logger } from '@flxbl-io/sfp-logger'; export default class Git { private projectDir?; private logger?; private _git; private repositoryLocation; private tempRepoLocation; private _isATemporaryRepo; private constructor(); fetch(): Promise; getHeadCommit(): Promise; getBaseBranchCommit(baseBranch: string): Promise; show(options: string[]): Promise; tag(options: string[]): Promise; diff(options: string[]): Promise; log(options: string[]): Promise; getRemoteOriginUrl(overrideOriginURL?: string): Promise; commitFile(pathToFiles: string[], message?: string): Promise; pushTags(tags?: string[]): Promise; deleteTags(tags?: string[]): Promise; addAnnotatedTag(tagName: string, annotation: string, commitId?: string): Promise; isBranchExists(branch: string): Promise; static initiateRepoAtTempLocation(logger: Logger, commitRef?: string, branch?: string): Promise; static initiateRepo(logger?: Logger, projectDir?: string): Promise; raw(commands: string[]): import("simple-git").Response; getRepositoryPath(): string; deleteTempoRepoIfAny(): Promise; addSafeConfig(repoDir: string): Promise; pushToRemote(branch: string, isForce: boolean): Promise; isATemporaryRepo(): boolean; getCurrentCommitId(): Promise; checkout(commitRef: string, isForce?: boolean): Promise; checkoutPath(commitRef: string, path: string, isForce?: boolean): Promise; stageChangedFiles(path: string): Promise; createBranch(branch: string): Promise; }