using System;
using System.Reactive;
namespace Octokit.Reactive
{
///
/// A client for GitHub's Organization Custom Properties API.
///
///
/// See Custom Properties API documentation for more information.
///
public interface IObservableOrganizationCustomPropertiesClient
{
///
/// Get all custom properties for an organization.
///
///
/// See the API documentation for more information.
///
/// The name of the organization
IObservable GetAll(string org);
///
/// Get a single custom property by name.
///
///
/// See the API documentation for more information.
///
/// The name of the organization
/// The name of the custom property
IObservable Get(string org, string propertyName);
///
/// Create new or update existing custom properties for an organization.
///
///
/// See the API documentation for more information.
///
/// The name of the organization
/// The custom properties to create or update
IObservable CreateOrUpdate(string org, UpsertOrganizationCustomProperties properties);
///
/// Create new or update existing custom property for an organization.
///
///
/// See the API documentation for more information.
///
/// The name of the organization
/// The name of the custom property
/// The custom property to create or update
IObservable CreateOrUpdate(string org, string propertyName, UpsertOrganizationCustomProperty property);
///
/// Removes a custom property that is defined for an organization.
///
///
/// See the API documentation for more information.
///
/// The name of the organization
/// The name of the custom property
IObservable Delete(string org, string propertyName);
///
/// A client for GitHub's Organization Custom Property Values API.
///
///
/// See the Custom Properties API documentation for more information.
///
IObservableOrganizationCustomPropertyValuesClient Values { get; }
}
}