import type { UnixTimestamp } from '@naturalcycles/js-lib/types';
/**
 * Set of utility functions to work with git.
 */
declare class Git2 {
    getLastGitCommitMsg(): string;
    commitMessageToTitleMessage(msg: string): string;
    hasUncommittedChanges(): boolean;
    /**
     * @returns true if there were changes
     */
    commitAll(msg: string): boolean;
    /**
     * @returns true if there are not pushed commits.
     */
    isAhead(): boolean;
    fetch(): void;
    pull(): void;
    push(): void;
    getCurrentCommitSha(full?: boolean): string;
    getCurrentCommitTimestamp(): UnixTimestamp;
    getCurrentBranchName(): string;
    getCurrentRepoName(): string;
    getAllBranchesNames(): string[];
    gitRefExists(ref: string): boolean;
    getTrackedFiles(): string[];
    getUntrackedFiles(): string[];
    getTrackedChangedFiles(diffBase: string, diffFilter?: string): string[];
    /**
     * @returns both tracked changed and untracked files
     */
    getAllChangedFiles(diffBase: string): string[];
}
export declare const git2: Git2;
export {};
