using System;
using System.Collections.Generic;
using System.Reactive;
using System.Text;
namespace Octokit.Reactive
{
///
/// A client for GitHub's Repository Variables API.
///
///
/// See the Repository Variables API documentation for more details.
///
public interface IObservableRepositoryVariablesClient
{
///
/// List the organization variables for a repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
/// Thrown when a general API error occurs.
/// A instance for the list of repository variables.
IObservable GetAllOrganization(string owner, string repoName);
///
/// List the variables for a repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
/// Thrown when a general API error occurs.
/// A instance for the list of repository variables.
IObservable GetAll(string owner, string repoName);
///
/// Get a variable from a repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
/// The name of the variable
/// Thrown when a general API error occurs.
/// A instance for the repository secret.
IObservable Get(string owner, string repoName, string variableName);
///
/// Create a variable in a repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
/// The variable to create
/// Thrown when a general API error occurs.
/// A instance for the repository variable that was created.
IObservable Create(string owner, string repoName, Variable newVariable);
///
/// Update a variable in a repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
/// The variable to update
/// Thrown when a general API error occurs.
/// A instance for the repository variable that was updated.
IObservable Update(string owner, string repoName, Variable variable);
///
/// Delete a variable in a repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository
/// The name of the repository
/// The name of the variable
/// Thrown when a general API error occurs.
IObservable Delete(string owner, string repoName, string variableName);
}
}