import type { SimpleGit } from "simple-git";
import { GitAuthError, GitConflictError, GitMergeError, GitNonFastForwardError, GitPermissionError, GitRemoteError } from "./errors.js";
export { GitAuthError, GitConflictError, GitMergeError, GitNonFastForwardError, GitPermissionError, GitRemoteError, };
export interface GitService extends SimpleGit {
    readonly workDir: string;
    configure(options?: {
        credentials?: {
            username: string;
            token: string;
        };
        userName?: string;
        userEmail?: string;
    }): Promise<void>;
    mergeRef(ref: string): Promise<{
        alreadyUpToDate: boolean;
    }>;
    stashPop(): Promise<{
        clean: boolean;
    }>;
    revList(left: string, right: string): Promise<{
        ahead: number;
        behind: number;
    }>;
    checkoutOrCreate(branch: string, startPoint?: string): Promise<void>;
    getConflictedFiles(): Promise<string[]>;
    getDefaultBranch(): Promise<string>;
}
export declare function createGitService(cwd: string): GitService;
export declare function classifyGitError(error: unknown): Error;
//# sourceMappingURL=index.d.ts.map