/**
 * Git PR Service Interface
 *
 * Output port for git PR and merge operations.
 * Implementations manage PR creation, merging, and CI status checks.
 */
/**
 * Error codes for git PR operations.
 */
export var GitPrErrorCode;
(function (GitPrErrorCode) {
    GitPrErrorCode["AUTH_FAILURE"] = "AUTH_FAILURE";
    GitPrErrorCode["BRANCH_NOT_FOUND"] = "BRANCH_NOT_FOUND";
    GitPrErrorCode["CI_TIMEOUT"] = "CI_TIMEOUT";
    GitPrErrorCode["GH_NOT_FOUND"] = "GH_NOT_FOUND";
    GitPrErrorCode["GIT_ERROR"] = "GIT_ERROR";
    GitPrErrorCode["MERGE_CONFLICT"] = "MERGE_CONFLICT";
    GitPrErrorCode["MERGE_FAILED"] = "MERGE_FAILED";
    GitPrErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
    GitPrErrorCode["PR_NOT_FOUND"] = "PR_NOT_FOUND";
    GitPrErrorCode["REMOTE_ALREADY_EXISTS"] = "REMOTE_ALREADY_EXISTS";
    GitPrErrorCode["REPO_CREATE_FAILED"] = "REPO_CREATE_FAILED";
    GitPrErrorCode["REBASE_CONFLICT"] = "REBASE_CONFLICT";
    GitPrErrorCode["SYNC_FAILED"] = "SYNC_FAILED";
})(GitPrErrorCode || (GitPrErrorCode = {}));
/**
 * Typed error for git PR operations.
 */
export class GitPrError extends Error {
    code;
    cause;
    constructor(message, code, cause) {
        super(message);
        this.code = code;
        this.cause = cause;
        this.name = 'GitPrError';
    }
}
