using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
namespace Octokit
{
///
/// A client for GitHub's Issue Labels API.
///
///
/// See the Issue Labels API documentation for more information.
///
public interface IIssuesLabelsClient
{
///
/// Gets all labels for the issue.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
/// The number of the issue
Task> GetAllForIssue(string owner, string name, int number);
///
/// Gets all labels for the issue.
///
///
/// See the API documentation for more information.
///
/// The Id of the repository
/// The number of the issue
Task> GetAllForIssue(long repositoryId, int number);
///
/// Gets all labels for the issue.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
/// The number of the issue
/// Options for changing the API response
Task> GetAllForIssue(string owner, string name, int number, ApiOptions options);
///
/// Gets all labels for the issue.
///
///
/// See the API documentation for more information.
///
/// The Id of the repository
/// The number of the issue
/// Options for changing the API response
Task> GetAllForIssue(long repositoryId, int number, ApiOptions options);
///
/// Gets all labels for the repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
Task> GetAllForRepository(string owner, string name);
///
/// Gets all labels for the repository.
///
///
/// See the API documentation for more information.
///
/// The Id of the repository
Task> GetAllForRepository(long repositoryId);
///
/// Gets all labels for the repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
/// Options for changing the API response
Task> GetAllForRepository(string owner, string name, ApiOptions options);
///
/// Gets all labels for the repository.
///
///
/// See the API documentation for more information.
///
/// The Id of the repository
/// Options for changing the API response
Task> GetAllForRepository(long repositoryId, ApiOptions options);
///
/// Gets labels for every issue in a milestone
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
/// The number of the milestone
Task> GetAllForMilestone(string owner, string name, int number);
///
/// Gets labels for every issue in a milestone
///
///
/// See the API documentation for more information.
///
/// The Id of the repository
/// The number of the milestone
Task> GetAllForMilestone(long repositoryId, int number);
///
/// Gets labels for every issue in a milestone
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
/// The number of the milestone
/// Options for changing the API response
Task> GetAllForMilestone(string owner, string name, int number, ApiOptions options);
///
/// Gets labels for every issue in a milestone
///
///
/// See the API documentation for more information.
///
/// The Id of the repository
/// The number of the milestone
/// Options for changing the API response
Task> GetAllForMilestone(long repositoryId, int number, ApiOptions options);
///
/// Gets a single Label by name.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
/// The name of the label
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get",
Justification = "Method makes a network request")]
Task