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

import com.atlassian.bitbucket.scm.CommandInputHandler;
import com.atlassian.bitbucket.scm.git.command.GitCommand;

import javax.annotation.Nonnull;
import java.io.File;

public interface GitNotesAddBuilder extends GitNotesBuilderSupport<GitNotesAddBuilder> {

    @Nonnull
    GitCommand<Void> build();

    @Nonnull
    GitNotesAddBuilder clearInputHandler();

    @Nonnull
    GitNotesAddBuilder file(File value);

    @Nonnull
    GitNotesAddBuilder file(String value);

    @Nonnull
    GitNotesAddBuilder force(boolean value);

    @Nonnull
    GitNotesAddBuilder inputHandler(@Nonnull CommandInputHandler value);

    @Nonnull
    GitNotesAddBuilder message(String value);

    @Nonnull
    GitNotesAddBuilder messages(Iterable<String> values);

    @Nonnull
    GitNotesAddBuilder messages(String value, String... values);
}
