package com.atlassian.bitbucket.mesh.git.push;

import com.atlassian.bitbucket.mesh.git.ref.RefUpdate;
import com.atlassian.bitbucket.mesh.process.ProcessSummary;

import javax.annotation.Nonnull;

public interface PushCallback {

    default void onEnd(@Nonnull ProcessSummary summary) {
    }

    default void onFailedUpdate(@Nonnull String refId) {
        // do nothing
    }

    void onRefUpdate(@Nonnull RefUpdate refUpdate);

    default void onProgress(int percentage, @Nonnull String message) {
    }

    default void onStart() {
    }
}
