using System;
using System.Collections.Generic;
using WireMock.Matchers;
namespace WireMock.RequestBuilders;
///
/// The GraphQLRequestBuilder interface.
///
public interface IGraphQLRequestBuilder : IMultiPartRequestBuilder
{
///
/// WithGraphQLSchema: The GraphQL schema as a string.
///
/// The GraphQL schema.
/// The match behaviour. (Default is MatchBehaviour.AcceptOnMatch).
/// The .
IRequestBuilder WithGraphQLSchema(string schema, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// WithGraphQLSchema: The GraphQL schema as a string.
///
/// The GraphQL schema.
/// A dictionary defining the custom scalars used in this schema. (optional)
/// The match behaviour. (Default is MatchBehaviour.AcceptOnMatch).
/// The .
IRequestBuilder WithGraphQLSchema(string schema, IDictionary? customScalars, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
#if GRAPHQL
///
/// WithGraphQLSchema: The GraphQL schema as a ISchema.
///
/// The GraphQL schema.
/// The match behaviour. (Default is MatchBehaviour.AcceptOnMatch).
/// The .
IRequestBuilder WithGraphQLSchema(GraphQL.Types.ISchema schema, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// WithGraphQLSchema: The GraphQL schema as a ISchema.
///
/// The GraphQL schema.
/// A dictionary defining the custom scalars used in this schema. (optional)
/// The match behaviour. (Default is MatchBehaviour.AcceptOnMatch).
/// The .
IRequestBuilder WithGraphQLSchema(GraphQL.Types.ISchema schema, IDictionary? customScalars, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
#endif
}