using System;
using System.Diagnostics.CodeAnalysis;
namespace Octokit.Reactive
{
///
/// A client for GitHub's Project Columns API.
///
///
/// See the Repository Projects API documentation for more information.
///
public interface IObservableProjectColumnsClient
{
///
/// Gets all columns.
///
///
/// See the API documentation for more information.
///
/// The Id of the project
IObservable GetAll(int projectId);
///
/// Gets all columns.
///
///
/// See the API documentation for more information.
///
/// The Id of the project
/// Options for changing the API response
IObservable 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")]
IObservable Get(int id);
///
/// Creates a column.
///
///
/// See the API documentation for more information.
///
/// The Id of the project
/// The column to create
IObservable 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
IObservable Update(int id, ProjectColumnUpdate projectColumnUpdate);
///
/// Deletes a column.
///
///
/// See the API documentation for more information.
///
/// The id of the column
IObservable Delete(int id);
///
/// Moves a column.
///
///
/// See the API documentation for more information.
///
/// The id of the column
/// The position to move the column
IObservable Move(int id, ProjectColumnMove position);
}
}