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

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

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

public interface GitTagCreateBuilder extends GitProcessBuilderSupport<GitTagCreateBuilder> {

    @Nonnull
    GitProcess<Void> build();

    @Nonnull
    GitTagCreateBuilder force(boolean value);

    @Nonnull
    GitTagCreateBuilder message(@Nullable String value);

    @Nonnull
    GitTagCreateBuilder startPoint(@Nullable String value);

    @Nonnull
    GitTagCreateBuilder type(@Nonnull GitTagType value);
}
