using System;
using System.Diagnostics.CodeAnalysis;
namespace Octokit.Reactive
{
public interface IObservableMiscellaneousClient
{
///
/// Gets all the emojis available to use on GitHub.
///
/// Thrown when a general API error occurs.
/// An of emoji and their URI.
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate",
Justification = "Makes a network request")]
IObservable GetAllEmojis();
///
/// Gets the rendered Markdown for an arbitrary markdown document.
///
/// An arbitrary Markdown document
/// Thrown when a general API error occurs.
/// The rendered Markdown.
IObservable RenderArbitraryMarkdown(NewArbitraryMarkdown markdown);
///
/// Gets the rendered Markdown for the specified plain-text Markdown document.
///
/// A plain-text Markdown document
/// Thrown when a general API error occurs.
/// The rendered Markdown.
IObservable RenderRawMarkdown(string markdown);
///
/// List all templates available to pass as an option when creating a repository.
///
/// An observable list of gitignore template names.
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
IObservable GetAllGitIgnoreTemplates();
///
/// Retrieves the source for a single GitIgnore template
///
/// Returns the template source for the given template
IObservable GetGitIgnoreTemplate(string templateName);
///
/// Returns a list of the licenses shown in the license picker on GitHub.com. This is not a comprehensive
/// list of all possible OSS licenses.
///
/// A list of licenses available on the site
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
IObservable GetAllLicenses();
///
/// Returns a list of the licenses shown in the license picker on GitHub.com. This is not a comprehensive
/// list of all possible OSS licenses.
///
/// Options for changing the API response
/// A list of licenses available on the site
IObservable GetAllLicenses(ApiOptions options);
///
/// Retrieves a license based on the license key such as "MIT"
///
///
/// A that includes the license key, text, and attributes of the license.
IObservable GetLicense(string key);
///
/// Gets API Rate Limits (API service rather than header info).
///
/// Thrown when a general API error occurs.
/// An of Rate Limits.
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
IObservable GetRateLimits();
///
/// Retrieves information about GitHub.com, the service or a GitHub Enterprise installation.
///
/// Thrown when a general API error occurs.
/// An containing metadata about the GitHub instance.
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
IObservable GetMetadata();
}
}