using System;
using System.Diagnostics.CodeAnalysis;
using System.Reactive;
namespace Octokit.Reactive
{
public interface IObservableGistsClient
{
IObservableGistCommentsClient Comment { get; set; }
///
/// Gets a gist
///
///
/// http://developer.github.com/v3/gists/#get-a-single-gist
///
/// The id of the gist
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get",
Justification = "Method makes a network request")]
IObservable Get(string id);
///
/// List the authenticated user’s gists or if called anonymously,
/// this will return all public gists
///
///
/// http://developer.github.com/v3/gists/#list-gists
///
IObservable GetAll();
///
/// List the authenticated user’s gists or if called anonymously,
/// this will return all public gists
///
///
/// http://developer.github.com/v3/gists/#list-gists
///
/// Only gists updated at or after this time are returned
IObservable GetAll(DateTimeOffset since);
///
/// Lists all public gists
///
///
/// http://developer.github.com/v3/gists/#list-gists
///
IObservable GetAllPublic();
///
/// Lists all public gists
///
///
/// http://developer.github.com/v3/gists/#list-gists
///
/// Only gists updated at or after this time are returned
IObservable GetAllPublic(DateTimeOffset since);
///
/// List the authenticated user’s starred gists
///
///
/// http://developer.github.com/v3/gists/#list-gists
///
IObservable GetAllStarred();
///
/// List the authenticated user’s starred gists
///
///
/// http://developer.github.com/v3/gists/#list-gists
///
/// Only gists updated at or after this time are returned
IObservable GetAllStarred(DateTimeOffset since);
///
/// List a user's gists
///
///
/// http://developer.github.com/v3/gists/#list-gists
///
/// The user
IObservable GetAllForUser(string user);
///
/// List a user's gists
///
///
/// http://developer.github.com/v3/gists/#list-gists
///
/// The user
/// Only gists updated at or after this time are returned
IObservable GetAllForUser(string user, DateTimeOffset since);
///
/// List gist commits
///
///
/// http://developer.github.com/v3/gists/#list-gists-commits
///
/// The id of the gist
IObservable GetAllCommits(string id);
///
/// List gist forks
///
///
/// http://developer.github.com/v3/gists/#list-gists-forks
///
/// The id of the gist
IObservable GetAllForks(string id);
///
/// Creates a new gist
///
///
/// http://developer.github.com/v3/gists/#create-a-gist
///
/// The new gist to create
IObservable Create(NewGist newGist);
///
/// Creates a fork of a gist
///
///
/// http://developer.github.com/v3/gists/#fork-a-gist
///
/// The id of the gist to fork
IObservable Fork(string id);
///
/// Edits a gist
///
///
/// http://developer.github.com/v3/gists/#delete-a-gist
///
/// The id of the gist
/// The update to the gist
IObservable Edit(string id, GistUpdate gistUpdate);
///
/// Deletes a gist
///
///
/// http://developer.github.com/v3/gists/#delete-a-gist
///
/// The id of the gist
IObservable Delete(string id);
///
/// Stars a gist
///
///
/// http://developer.github.com/v3/gists/#star-a-gist
///
/// The id of the gist
IObservable Star(string id);
///
/// Unstars a gist
///
///
/// http://developer.github.com/v3/gists/#unstar-a-gist
///
/// The id of the gist
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Unstar")]
IObservable Unstar(string id);
///
/// Checks if the gist is starred
///
///
/// http://developer.github.com/v3/gists/#check-if-a-gist-is-starred
///
/// The id of the gist
IObservable IsStarred(string id);
}
}