using System;
using System.Diagnostics.CodeAnalysis;
namespace Octokit.Reactive
{
public interface IObservableOrganizationsClient
{
///
/// Returns a client to manage members of an organization.
///
IObservableOrganizationMembersClient Member { get; }
///
/// Returns a client to manage teams for an organization.
///
IObservableTeamsClient Team { get; }
///
/// Returns the specified organization.
///
/// The login of the specified organization,
///
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get"
, Justification = "It's fine. Trust us.")]
IObservable Get(string org);
///
/// Returns all the organizations for the current user.
///
///
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate",
Justification = "Method makes a network request")]
IObservable GetAllForCurrent();
///
/// Returns all the organizations for the current user.
///
/// Options for changing the API response
///
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate",
Justification = "Method makes a network request")]
IObservable GetAllForCurrent(ApiOptions options);
///
/// Returns all the organizations for the specified user
///
/// The login for the user
///
IObservable GetAll(string user);
///
/// Returns all the organizations for the specified user
///
/// The login for the user
/// Options for changing the API response
///
IObservable GetAll(string user, ApiOptions options);
///
/// Update the specified organization with data from .
///
/// The name of the organization to update.
///
/// Thrown if the client is not authenticated.
/// A
IObservable Update(string organizationName, OrganizationUpdate updateRequest);
}
}