export declare const FORMAT_SEPARATOR = "##__##"; /** * Get a list of local branches and their remote tracking branches. * * @param cwd current working directory * @returns list of branches (`name`) and their remote tracking branch (`tracking`) */ export declare const getBranchList: (cwd: string) => Promise<{ name: string; tracking: string | null; }[]>; /** * Get current repository branch name. * * @param cwd current working directory * @returns branch name */ export declare const getCurrentBranch: (cwd: string) => Promise; /** * Get current repository branch name. * Will prompt user to initialize a repository in `cwd` if `cwd` is not yet * inside a repository. * * @param cwd current working directory * @returns branch name */ export declare const ensureCurrentBranch: (cwd: string) => Promise; /** * Check if given `branch` exists * * @param branch name of the branch * @param cwd current working directory * @returns if the branch exists */ export declare const branchExists: (branch: string, cwd: string) => Promise; /** * Checkout a remote branch. * * @param branch name of the branch * @param cwd current working directory * @returns resolves when branch is successfully checked out */ export declare const checkoutRemoteBranch: (branch: string, cwd: string) => Promise; /** * Check if the `branch` is synced with remote. This means no unpushed commits and * no unfetched commits from remote. * * @param branch name of the branch * @param cwd current working directory * @returns number the commits the `branch` is behind/ahead and if it is in sync */ export declare const getBranchStatus: (branch: string, cwd: string) => Promise<{ ahead: number; behind: number; synced: boolean; }>;