import Git from 'simple-git/promise'; import { CommitFilesConfig } from '../common'; declare module 'fs-extra' { function exists(pathLike: string): Promise; } export declare type StatusResult = Git.StatusResult; interface StorageConfig { localDir: string; baseBranch?: string; url: string; gitPrivateKey?: string; extraCloneOpts?: Git.Options; } export declare class Storage { private _config; private _git; private _cwd; private _resetToBranch; private _cleanLocalBranches; initRepo(args: StorageConfig): Promise; getRepoStatus(): Promise; createBranch(branchName: string, sha: string): Promise; getBranchCommit(branchName: string): Promise; getCommitMessages(): Promise; setBaseBranch(branchName: string): Promise; setBranchPrefix(branchPrefix: string): Promise; getFileList(branchName?: string): Promise; getSubmodules(): Promise; branchExists(branchName: string): Promise; getAllRenovateBranches(branchPrefix: string): Promise; isBranchStale(branchName: string): Promise; private _deleteLocalBranch; deleteBranch(branchName: string): Promise; mergeBranch(branchName: string): Promise; getBranchLastCommitTime(branchName: string): Promise; getFile(filePath: string, branchName?: string): Promise; hasDiff(branchName: string): Promise; commitFilesToBranch({ branchName, files, message, parentBranch, createBranchBeforeCommit, }: CommitFilesConfig): Promise; cleanRepo(): void; static getUrl({ protocol, auth, hostname, host, repository, }: { protocol?: 'ssh' | 'http' | 'https'; auth?: string; hostname?: string; host?: string; repository: string; }): string; } export default Storage;