using System;
using System.Reactive;
namespace Octokit.Reactive
{
///
/// Client to manage locking/unlocking a conversation for an Issue or a Pull request
///
public interface IObservableLockUnlockClient
{
///
/// Locks an issue for the specified repository. Issue owners and users with push access can lock an issue.
///
/// https://developer.github.com/v3/issues/#lock-an-issue
/// The owner of the repository
/// The name of the repository
/// The issue number
/// The reason for locking the issue
IObservable Lock(string owner, string name, int issueNumber, LockReason? lockReason = null);
///
/// Locks an issue for the specified repository. Issue owners and users with push access can lock an issue.
///
/// https://developer.github.com/v3/issues/#lock-an-issue
/// The Id of the repository
/// The issue number
/// The reason for locking the issue
IObservable Lock(long repositoryId, int issueNumber, LockReason? lockReason = null);
///
/// Unlocks an issue for the specified repository. Issue owners and users with push access can unlock an issue.
///
/// https://developer.github.com/v3/issues/#unlock-an-issue
/// The owner of the repository
/// The name of the repository
/// The issue number
IObservable Unlock(string owner, string name, int issueNumber);
///
/// Unlocks an issue for the specified repository. Issue owners and users with push access can unlock an issue.
///
/// https://developer.github.com/v3/issues/#unlock-an-issue
/// The Id of the repository
/// The issue number
IObservable Unlock(long repositoryId, int issueNumber);
}
}