// Copyright © WireMock.Net
using System.Collections.Generic;
using WireMock.Matchers;
namespace WireMock.RequestBuilders;
///
/// The ProtoBufRequestBuilder interface.
///
public interface IProtoBufRequestBuilder : IGraphQLRequestBuilder
{
///
/// WithBodyAsProtoBuf
///
/// The proto definition as text.
/// The full type of the protobuf (request/response) message object. Format is "{package-name}.{type-name}".
/// The match behaviour. (default = "AcceptOnMatch")
/// The .
IRequestBuilder WithBodyAsProtoBuf(string protoDefinition, string messageType, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// WithBodyAsProtoBuf
///
/// The proto definition as text.
/// The full type of the protobuf (request/response) message object. Format is "{package-name}.{type-name}".
/// The matcher to use to match the ProtoBuf as (json) object.
/// The match behaviour. (default = "AcceptOnMatch")
/// The .
IRequestBuilder WithBodyAsProtoBuf(string protoDefinition, string messageType, IObjectMatcher matcher, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// WithBodyAsProtoBuf
///
/// The proto definitions as text.
/// The full type of the protobuf (request/response) message object. Format is "{package-name}.{type-name}".
/// The match behaviour. (default = "AcceptOnMatch")
/// The .
IRequestBuilder WithBodyAsProtoBuf(IReadOnlyList protoDefinitions, string messageType, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// WithBodyAsProtoBuf
///
/// The proto definitions as text.
/// The full type of the protobuf (request/response) message object. Format is "{package-name}.{type-name}".
/// The matcher to use to match the ProtoBuf as (json) object.
/// The match behaviour. (default = "AcceptOnMatch")
/// The .
IRequestBuilder WithBodyAsProtoBuf(IReadOnlyList protoDefinitions, string messageType, IObjectMatcher matcher, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// WithBodyAsProtoBuf
///
/// The full type of the protobuf (request/response) message object. Format is "{package-name}.{type-name}".
/// The match behaviour. (default = "AcceptOnMatch")
/// The .
IRequestBuilder WithBodyAsProtoBuf(string messageType, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// WithBodyAsProtoBuf
///
/// The full type of the protobuf (request/response) message object. Format is "{package-name}.{type-name}".
/// The matcher to use to match the ProtoBuf as (json) object.
/// The match behaviour. (default = "AcceptOnMatch")
/// The .
IRequestBuilder WithBodyAsProtoBuf(string messageType, IObjectMatcher matcher, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
}