// Copyright © WireMock.Net
using WireMock.Matchers.Request;
namespace WireMock.RequestBuilders;
///
/// IRequestBuilder
///
public interface IRequestBuilder : IClientIPRequestBuilder
{
///
/// Adds a request matcher to the builder.
/// If the request matcher is already present, it will be replaced.
///
/// The type of the request matcher.
/// The request matcher to add.
/// The current instance.
IRequestBuilder Add(T requestMatcher) where T : IRequestMatcher;
///
/// The link back to the Mapping.
///
IMapping Mapping { get; set; }
///
/// Chooses the which immediately returns a mismatch during mappings enumeration.
///
/// Selected type to choose the matcher from available list.
/// The current instance.
IRequestBuilder WithEarlyMismatch(RequestMatcherType? earlyMatcherType);
}