package com.atlassian.bitbucket.scm.git.command.tag;

import com.atlassian.bitbucket.scm.Command;
import com.atlassian.bitbucket.scm.git.command.GitCommandBuilderSupport;

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

public interface GitTagCreateBuilder extends GitCommandBuilderSupport<GitTagCreateBuilder> {

    @Nonnull
    Command<Void> build();

    @Nonnull
    GitTagCreateBuilder force(boolean value);

    @Nonnull
    GitTagCreateBuilder message(@Nullable String value);

    @Nonnull
    GitTagCreateBuilder startPoint(@Nonnull String value);

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