using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
namespace Octokit
{
///
/// A client for GitHub's Project Columns API.
///
///
/// See the Repository Projects API documentation for more information.
///
public interface IProjectColumnsClient
{
///
/// Gets all columns.
///
///
/// See the API documentation for more information.
///
/// The Id of the project
Task> GetAll(int projectId);
///
/// Gets all columns.
///
///
/// See the API documentation for more information.
///
/// The Id of the project
/// Options for changing the API response
Task> GetAll(int projectId, ApiOptions options);
///
/// Gets a single column.
///
///
/// See the API documentation for more information.
///
/// The id of the column
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get")]
Task Get(int id);
///
/// Creates a column.
///
///
/// See the API documentation for more information.
///
/// The Id of the project
/// The column to create
Task Create(int projectId, NewProjectColumn newProjectColumn);
///
/// Updates a column.
///
///
/// See the API documentation for more information.
///
/// The id of the column
/// New values to update the column with
Task Update(int id, ProjectColumnUpdate projectColumnUpdate);
///
/// Deletes a column.
///
///
/// See the API documentation for more information.
///
/// The id of the column
Task Delete(int id);
///
/// Moves a column.
///
///
/// See the API documentation for more information.
///
/// The id of the column
/// The position to move the column
Task Move(int id, ProjectColumnMove position);
}
}