// <auto-generated/>

#nullable disable

using System;
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Threading;
using System.Threading.Tasks;

namespace Authentication.OAuth2
{
    public partial class OAuth2Client
    {
        protected OAuth2Client() => throw null;

        public OAuth2Client(AuthenticationTokenProvider tokenProvider) : this(new Uri("http://localhost:3000"), tokenProvider, new OAuth2ClientOptions()) => throw null;

        public OAuth2Client(AuthenticationTokenProvider tokenProvider, OAuth2ClientOptions options) : this(new Uri("http://localhost:3000"), tokenProvider, options) => throw null;

        public OAuth2Client(Uri endpoint, AuthenticationTokenProvider tokenProvider, OAuth2ClientOptions options) => throw null;

        public ClientPipeline Pipeline => throw null;

        public virtual ClientResult Valid(RequestOptions options) => throw null;

        public virtual Task<ClientResult> ValidAsync(RequestOptions options) => throw null;

        public virtual ClientResult Valid(CancellationToken cancellationToken = default) => throw null;

        public virtual Task<ClientResult> ValidAsync(CancellationToken cancellationToken = default) => throw null;

        public virtual ClientResult Invalid(RequestOptions options) => throw null;

        public virtual Task<ClientResult> InvalidAsync(RequestOptions options) => throw null;

        public virtual ClientResult Invalid(CancellationToken cancellationToken = default) => throw null;

        public virtual Task<ClientResult> InvalidAsync(CancellationToken cancellationToken = default) => throw null;
    }
}
