using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
namespace Octokit
{
///
/// A client for GitHub's Gist Comments API.
///
///
/// See the Gist Comments API documentation for more information.
///
public interface IGistCommentsClient
{
///
/// Gets a single comment by gist- and comment id.
///
/// http://developer.github.com/v3/gists/comments/#get-a-single-comment
/// The id of the gist
/// The id of the comment
/// Task{GistComment}.
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get",
Justification = "Method makes a network request")]
Task Get(string gistId, long commentId);
///
/// Gets all comments for the gist with the specified id.
///
/// http://developer.github.com/v3/gists/comments/#list-comments-on-a-gist
/// The id of the gist
/// Task{IReadOnlyList{GistComment}}.
Task> GetAllForGist(string gistId);
///
/// Gets all comments for the gist with the specified id.
///
/// http://developer.github.com/v3/gists/comments/#list-comments-on-a-gist
/// The id of the gist
/// Options for changing the API response
/// Task{IReadOnlyList{GistComment}}.
Task> GetAllForGist(string gistId, ApiOptions options);
///
/// Creates a comment for the gist with the specified id.
///
/// http://developer.github.com/v3/gists/comments/#create-a-comment
/// The id of the gist
/// The body of the comment
/// Task{GistComment}.
Task Create(string gistId, string comment);
///
/// Updates the comment with the specified gist- and comment id.
///
/// http://developer.github.com/v3/gists/comments/#edit-a-comment
/// The id of the gist
/// The id of the comment
/// The updated body of the comment
/// Task{GistComment}.
Task Update(string gistId, long commentId, string comment);
///
/// Deletes the comment with the specified gist- and comment id.
///
/// http://developer.github.com/v3/gists/comments/#delete-a-comment
/// The id of the gist
/// The id of the comment
/// Task.
Task Delete(string gistId, long commentId);
}
}