using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Reactive;
using System.Text;
using System.Threading.Tasks;
namespace Octokit.Reactive
{
///
/// A client for GitHub's UserUser GPG Keys API.
///
///
/// See the User GPG Keys documentation for more information.
///
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Gpg")]
public interface IObservableUserGpgKeysClient
{
///
/// Gets all GPG keys for the authenticated user.
///
///
/// See the API documentation for more information.
///
/// A of s for the current user.
IObservable GetAllForCurrent();
///
/// Gets all GPG keys for the authenticated user.
///
/// Options for changing the API response
///
/// See the API documentation for more information.
///
/// A of s for the current user.
IObservable GetAllForCurrent(ApiOptions options);
///
/// View extended details of the for the specified id.
///
/// The ID of the GPG key
///
/// See the API documentation for more information.
///
/// The for the specified ID.
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get")]
IObservable Get(int id);
///
/// Creates a new for the authenticated user.
///
/// The new GPG key to add.
///
/// See the API documentation for more information.
///
/// The newly created .
[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Gpg")]
IObservable Create(NewGpgKey newGpgKey);
///
/// Deletes the GPG key for the specified ID.
///
/// The ID of the GPG key to delete.
///
/// See the API documentation for more information.
///
///
IObservable Delete(int id);
}
}