using System;
using System.Diagnostics.CodeAnalysis;
using System.Collections.Generic;
namespace Octokit.Reactive
{
public interface IObservableRepositoryInvitationsClient
{
///
/// Accept a repository invitation.
///
///
/// See the API documentation for more information.
///
/// The id of the invitation.
IObservable Accept(long invitationId);
///
/// Decline a repository invitation.
///
///
/// See the API documentation for more information.
///
/// The id of the invitation.
IObservable Decline(long invitationId);
///
/// Deletes a repository invitation.
///
///
/// See the API documentation for more information.
///
/// The id of the repository.
/// The id of the invitation.
IObservable Delete(long repositoryId, long invitationId);
///
/// Gets all invitations for the current user.
///
///
/// See the API documentation for more information.
///
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
IObservable GetAllForCurrent();
///
/// Gets all invitations for the current user.
///
///
/// See the API documentation for more information.
///
/// Options for changing the API response
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
IObservable GetAllForCurrent(ApiOptions options);
///
/// Gets all the invitations on a repository.
///
///
/// See the API documentation for more information.
///
/// The id of the repository
IObservable GetAllForRepository(long repositoryId);
///
/// Gets all the invitations on a repository.
///
///
/// See the API documentation for more information.
///
/// The id of the repository
/// /// Options for changing the API response
IObservable GetAllForRepository(long repositoryId, ApiOptions options);
///
/// Updates a repository invitation.
///
///
/// See the API documentation for more information.
///
/// The id of the repository.
/// The id of the invitation.
/// The permission to set.
///
IObservable Edit(long repositoryId, long invitationId, InvitationUpdate permissions);
}
}