package com.atlassian.bitbucket.mesh.git.builder.rebase;

import com.atlassian.bitbucket.mesh.git.builder.GitProcessBuilderSupport;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

public interface GitRebaseBuilder extends GitProcessBuilderSupport<GitRebaseBuilder> {

    @Nonnull
    GitRebaseBuilder branch(@Nullable String value);

    @Nonnull
    GitRebaseBuilder force(boolean value);

    @Nonnull
    GitRebaseBuilder keepEmpty(boolean value);

    @Nonnull
    GitRebaseBuilder onto(@Nullable String value);

    @Nonnull
    GitRebaseBuilder quiet(boolean value);

    @Nonnull
    GitRebaseBuilder stat(@Nonnull GitRebaseStat value);

    @Nonnull
    GitRebaseBuilder upstream(@Nonnull String value);

    @Nonnull
    GitRebaseBuilder verbose(boolean value);

    @Nonnull
    GitRebaseBuilder verify(@Nonnull GitRebaseVerify value);
}
