using System;
namespace System.Net
{
/// Provides the base authentication interface for Web client authentication modules.
// Token: 0x0200023B RID: 571
public interface IAuthenticationModule
{
/// Returns an instance of the class in respose to an authentication challenge from a server.
/// An instance containing the authorization message for the request, or null if the challenge cannot be handled.
/// The authentication challenge sent by the server.
/// The instance associated with the challenge.
/// The credentials associated with the challenge.
// Token: 0x06001467 RID: 5223
Authorization Authenticate(string challenge, WebRequest request, ICredentials credentials);
/// Returns an instance of the class for an authentication request to a server.
/// An instance containing the authorization message for the request.
/// The instance associated with the authentication request.
/// The credentials associated with the authentication request.
// Token: 0x06001468 RID: 5224
Authorization PreAuthenticate(WebRequest request, ICredentials credentials);
/// Gets the authentication type provided by this authentication module.
/// A string indicating the authentication type provided by this authentication module.
// Token: 0x170006B4 RID: 1716
// (get) Token: 0x06001469 RID: 5225
string AuthenticationType { get; }
/// Gets a value indicating whether the authentication module supports preauthentication.
/// true if the authorization module supports preauthentication; otherwise false.
// Token: 0x170006B5 RID: 1717
// (get) Token: 0x0600146A RID: 5226
bool CanPreAuthenticate { get; }
}
}