// Copyright © WireMock.Net
using System;
using System.Collections.Generic;
using WireMock.Matchers;
namespace WireMock.RequestBuilders;
///
/// The CookieRequestBuilder interface.
///
public interface ICookiesRequestBuilder : IParamsRequestBuilder
{
///
/// WithCookie: matching based on name, pattern and matchBehaviour.
///
/// The name.
/// The pattern.
/// The match behaviour.
/// The .
IRequestBuilder WithCookie(string name, string pattern, MatchBehaviour matchBehaviour);
///
/// WithCookie: matching based on name, pattern, ignoreCase and matchBehaviour.
///
/// The name.
/// The pattern.
/// Ignore the case from the pattern.
/// The match behaviour.
/// The .
IRequestBuilder WithCookie(string name, string pattern, bool ignoreCase = true, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// WithCookie: matching based on name, patterns and matchBehaviour.
///
/// The name.
/// The patterns.
/// The match behaviour.
/// The .
IRequestBuilder WithCookie(string name, string[] patterns, MatchBehaviour matchBehaviour);
///
/// WithCookie: matching based on name, patterns, ignoreCase and matchBehaviour.
///
/// The name.
/// The patterns.
/// Ignore the case from the pattern.
/// The match behaviour.
/// The .
IRequestBuilder WithCookie(string name, string[] patterns, bool ignoreCase = true, MatchBehaviour matchBehaviour = MatchBehaviour.AcceptOnMatch);
///
/// WithCookie: matching based on name and IStringMatcher[].
///
/// The name.
/// The matchers.
/// The .
IRequestBuilder WithCookie(string name, params IStringMatcher[] matchers);
///
/// WithCookie: matching based on name, ignoreCase and IStringMatcher[].
///
/// The name.
/// Ignore the case from the cookie-keys.
/// The matchers.
/// The .
IRequestBuilder WithCookie(string name, bool ignoreCase, params IStringMatcher[] matchers);
///
/// WithCookie: matching based on name, ignoreCase, matchBehaviour and IStringMatcher[].
///
/// The name.
/// Ignore the case from the cookie-keys.
/// The match behaviour.
/// The matchers.
/// The .
IRequestBuilder WithCookie(string name, bool ignoreCase, MatchBehaviour matchBehaviour, params IStringMatcher[] matchers);
///
/// WithCookie: matching based on functions.
///
/// The cookies funcs.
/// The .
IRequestBuilder WithCookie(params Func, bool>[] funcs);
}