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

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

import javax.annotation.Nonnull;

public interface GitResetBuilder extends GitProcessBuilderSupport<GitResetBuilder> {

    @Nonnull
    GitProcess<Void> build();

    @Nonnull
    GitResetBuilder commit(String value);

    @Nonnull
    GitResetBuilder hard();

    @Nonnull
    GitResetBuilder mixed();

    @Nonnull
    GitResetBuilder path(String value);

    @Nonnull
    GitResetBuilder paths(Iterable<String> values);

    @Nonnull
    GitResetBuilder paths(String value, String... values);

    @Nonnull
    GitResetBuilder quiet(boolean value);

    @Nonnull
    GitResetBuilder soft();
}
