{
  "version": "0.1",
  "language": "typescript",
  "metadata": {
    "packageName": "@contract-case/case-definition-dsl",
    "packageVersion": "0.29.1"
  },
  "apiReference": {
    "constructs": [],
    "classes": [
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.convenience.And.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.convenience.And.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.convenience.And.Initializer.parameter.matchers",
              "displayName": "matchers",
              "id": "@contract-case/case-definition-dsl.matchers.convenience.And.Initializer.parameter.matchers",
              "type": {
                "formattingPattern": "%[]",
                "types": [
                  {
                    "formattingPattern": "any"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- An array of the matchers to run against this particular spot in the tree."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.convenience.And(matchers: any[])"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.convenience.And.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.convenience.And.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.convenience.And",
        "displayName": "And",
        "id": "@contract-case/case-definition-dsl.matchers.convenience.And",
        "docs": {
          "summary": "Matches all of the provided matchers. Useful for combining restrictions provided by different matchers, or creating new matchers without needing plugins.",
          "remarks": "For best results, wrap the And matcher in a WithExample matcher."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyBoolean.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyBoolean.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyBoolean.Initializer.parameter.example",
              "displayName": "example",
              "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyBoolean.Initializer.parameter.example",
              "type": {
                "formattingPattern": "boolean"
              },
              "variadic": false,
              "docs": {
                "summary": "- An example boolean."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.primitives.AnyBoolean(example: boolean)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyBoolean.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyBoolean.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyBoolean",
        "displayName": "AnyBoolean",
        "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyBoolean",
        "docs": {
          "summary": "Matches any Boolean."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyInteger.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyInteger.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyInteger.Initializer.parameter.example",
              "displayName": "example",
              "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyInteger.Initializer.parameter.example",
              "type": {
                "formattingPattern": "number"
              },
              "variadic": false,
              "docs": {
                "summary": "- Any floating point number, not infinity, not NaN."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.primitives.AnyInteger(example: number)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyInteger.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyInteger.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyInteger",
        "displayName": "AnyInteger",
        "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyInteger",
        "docs": {
          "summary": "Matches any whole integer number."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.interactions.base.AnyInteractionDescriptor.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.interactions.base.AnyInteractionDescriptor.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.interactions.base.AnyInteractionDescriptor.Initializer.parameter.mockType",
              "displayName": "mockType",
              "id": "@contract-case/case-definition-dsl.interactions.base.AnyInteractionDescriptor.Initializer.parameter.mockType",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The type string for this mock description (see [Extending ContractCase](https://case.contract-testing.io/docs/reference/plugin-framework) for a description of these strings)."
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.interactions.base.AnyInteractionDescriptor.Initializer.parameter.setup",
              "displayName": "setup",
              "id": "@contract-case/case-definition-dsl.interactions.base.AnyInteractionDescriptor.Initializer.parameter.setup",
              "type": {
                "formattingPattern": "%",
                "types": [
                  {
                    "id": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreSetup",
                    "displayName": "ContractCaseCoreSetup",
                    "fqn": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreSetup",
                    "packageName": "@contract-case/case-definition-dsl",
                    "packageVersion": "0.29.1",
                    "submodule": "interactions"
                  }
                ]
              },
              "variadic": false,
              "docs": {}
            }
          ],
          "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nnew interactions.base.AnyInteractionDescriptor(mockType: string, setup: ContractCaseCoreSetup)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.base.AnyInteractionDescriptor.stringify",
            "displayName": "stringify",
            "id": "@contract-case/case-definition-dsl.interactions.base.AnyInteractionDescriptor.stringify",
            "parameters": [],
            "docs": {
              "summary": "This method returns the entire example as a JSON string, as a convenience so that wrapper libraries don't need to figure out how to walk a tree of example objects.",
              "remarks": "You shouldn't need to override this method."
            },
            "usage": "public stringify(): string"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.base.AnyInteractionDescriptor.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.interactions.base.AnyInteractionDescriptor.toJSON",
            "parameters": [],
            "docs": {
              "summary": "Only override this method if you are writing a matcher in a language other than TypeScript.",
              "remarks": "It exists because the ContractCase matcher format is not legal in all languages that ContractCase supports.\n\nIt isn't called by any implementation directly, it's used on the javascript side by `JSON.stringify()`.\n\nCalling it from a wrapper library will return unhelpful results, as JSii can't map all objects that it returns.\n\nWARNING: Do not return a string from this method. You must instead return\nan object that can be serialised to JSON following the matcher format\ndescribed in [Extending ContractCase](https://case.contract-testing.io/docs/reference/plugin-framework)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.interactions.base.AnyInteractionDescriptor",
        "displayName": "AnyInteractionDescriptor",
        "id": "@contract-case/case-definition-dsl.interactions.base.AnyInteractionDescriptor",
        "docs": {
          "summary": "The base class for all ContractCase Mock Descriptors. Extend this if you are implementing your own mock type.",
          "remarks": "If you are using the included example types from ContractCase (or any\nextension libraries), you do not need to read the documentation for this\nclass.\n\nMock description type strings beginning with `_case:` are reserved for the default ContractCase\nmatchers. Only use a types prefixed with `_case:` if you wish to create a DSL for a special case\nfor a matching behaviour that is already provided by a core ContractCase mock."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.base.AnyMatcher.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.base.AnyMatcher.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.base.AnyMatcher.Initializer.parameter.matcherType",
              "displayName": "matcherType",
              "id": "@contract-case/case-definition-dsl.matchers.base.AnyMatcher.Initializer.parameter.matcherType",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The type string for this matcher (see {@link https://case.contract-testing.io/docs/reference/plugin-framework Extending ContractCase} for a description of these strings)."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.base.AnyMatcher(matcherType: string)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.base.AnyMatcher.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.base.AnyMatcher.toJSON",
            "parameters": [],
            "docs": {
              "summary": "Only override this method if you are writing a matcher in a language other than TypeScript.",
              "remarks": "It exists because the ContractCase matcher format is not legal in all languages that ContractCase supports.\n\nWARNING: Do not return a string from this method. You must instead return\nan object that can be serialised to JSON following the matcher format\ndescribed in {@link https://case.contract-testing.io/docs/reference/plugin-framework Extending ContractCase}."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.base.AnyMatcher",
        "displayName": "AnyMatcher",
        "id": "@contract-case/case-definition-dsl.matchers.base.AnyMatcher",
        "docs": {
          "summary": "The base class for all Test Equivalence Matchers.",
          "remarks": "Extend this if you don't\nhave an example in your Matcher. Otherwise, use `AnyMatcherWithExample`"
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.base.AnyMatcherWithExample.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.base.AnyMatcherWithExample.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.base.AnyMatcherWithExample.Initializer.parameter.matcherType",
              "displayName": "matcherType",
              "id": "@contract-case/case-definition-dsl.matchers.base.AnyMatcherWithExample.Initializer.parameter.matcherType",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The type string for this matcher (see {@link https://case.contract-testing.io/docs/reference/plugin-framework Extending ContractCase} for a description of these strings)."
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.base.AnyMatcherWithExample.Initializer.parameter.example",
              "displayName": "example",
              "id": "@contract-case/case-definition-dsl.matchers.base.AnyMatcherWithExample.Initializer.parameter.example",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The data that will be used as the example for this matcher."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.base.AnyMatcherWithExample(matcherType: string, example: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.base.AnyMatcherWithExample.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.base.AnyMatcherWithExample.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.base.AnyMatcherWithExample",
        "displayName": "AnyMatcherWithExample",
        "id": "@contract-case/case-definition-dsl.matchers.base.AnyMatcherWithExample",
        "docs": {
          "summary": "The base class for all Test Equivalence Matchers that have examples provided.",
          "remarks": "Extend this if your matcher knows what the example will be. Otherwise, use `matchers.AnyMatcher`"
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyNull.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyNull.Initializer",
          "parameters": [],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.primitives.AnyNull()"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyNull.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyNull.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyNull",
        "displayName": "AnyNull",
        "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyNull",
        "docs": {
          "summary": "Matches `null` (useful for languages like Java where `body: null` means no body, but you want to match a eg a json document that has the body `\"null\"`)."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyNumber.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyNumber.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyNumber.Initializer.parameter.example",
              "displayName": "example",
              "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyNumber.Initializer.parameter.example",
              "type": {
                "formattingPattern": "number"
              },
              "variadic": false,
              "docs": {
                "summary": "- An example number."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.primitives.AnyNumber(example: number)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyNumber.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyNumber.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.primitives.AnyNumber",
        "displayName": "AnyNumber",
        "id": "@contract-case/case-definition-dsl.matchers.primitives.AnyNumber",
        "docs": {
          "summary": "Matches a number following [RFC 8259 JSON](https://www.rfc-editor.org/rfc/rfc8259)."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.states.AnyState.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.states.AnyState.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.states.AnyState.Initializer.parameter.stateType",
              "displayName": "stateType",
              "id": "@contract-case/case-definition-dsl.states.AnyState.Initializer.parameter.stateType",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {}
            },
            {
              "fqn": "@contract-case/case-definition-dsl.states.AnyState.Initializer.parameter.stateName",
              "displayName": "stateName",
              "id": "@contract-case/case-definition-dsl.states.AnyState.Initializer.parameter.stateName",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The name of the state used by this example.",
                "remarks": "This must\nmatch one of the state handlers provided in the configuration during the\nexample run."
              }
            }
          ],
          "usage": "import { states } from '@contract-case/case-definition-dsl'\n\nnew states.AnyState(stateType: string, stateName: string)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.states.AnyState.stringify",
            "displayName": "stringify",
            "id": "@contract-case/case-definition-dsl.states.AnyState.stringify",
            "parameters": [],
            "docs": {
              "summary": "You shouldn't need to override this method.",
              "remarks": "You don't need to call this\nmethod, unless working on a wrapper for ContractCase.\n\nThis method returns the entire state descriptor as a JSON string, as a convenience\nso that wrapper libraries don't need to figure out how to walk a tree of example objects."
            },
            "usage": "public stringify(): string"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.states.AnyState.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.states.AnyState.toJSON",
            "parameters": [],
            "docs": {
              "summary": "You shouldn't need to override or call this method.",
              "remarks": "It exists because the ContractCase matcher format is not legal in all languages that ContractCase supports.\n\nIt isn't called by any implementation directly, it's used on the javascript side by `JSON.stringify()`.\n\nCalling it from a wrapper library will return unhelpful results, as JSii can't map all objects that it returns.\n\nWARNING: Do not return a string from this method. You must instead return\nan object that can be serialised to JSON following the matcher format\ndescribed in [Extending ContractCase](https://case.contract-testing.io/docs/reference/plugin-framework)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.states.AnyState.property.stateName",
            "displayName": "stateName",
            "id": "@contract-case/case-definition-dsl.states.AnyState.property.stateName",
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "The name of this state, used to determine which state handler to run."
            },
            "usage": "public readonly stateName: string;"
          }
        ],
        "fqn": "@contract-case/case-definition-dsl.states.AnyState",
        "displayName": "AnyState",
        "id": "@contract-case/case-definition-dsl.states.AnyState",
        "docs": {
          "summary": "The base class for all ContractCase State Descriptors. You shouldn't need to extend this.",
          "remarks": "You don't need to read the documentation for this class unless you are working\non a wrapper for ContractCase."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.strings.AnyString.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.strings.AnyString.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.strings.AnyString.Initializer.parameter.example",
              "displayName": "example",
              "id": "@contract-case/case-definition-dsl.matchers.strings.AnyString.Initializer.parameter.example",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- An example string."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.strings.AnyString(example: string)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.strings.AnyString.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.strings.AnyString.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.strings.AnyString",
        "displayName": "AnyString",
        "id": "@contract-case/case-definition-dsl.matchers.strings.AnyString",
        "docs": {
          "summary": "Matches any string."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayContains.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayContains.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayContains.Initializer.parameter.matchers",
              "displayName": "matchers",
              "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayContains.Initializer.parameter.matchers",
              "type": {
                "formattingPattern": "%[]",
                "types": [
                  {
                    "formattingPattern": "any"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- any number of matchers, each of which must be found inside the array."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.arrays.ArrayContains(matchers: any[])"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayContains.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayContains.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayContains",
        "displayName": "ArrayContains",
        "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayContains",
        "docs": {
          "summary": "Matches an Array which contains elements that match the given matchers - note that two different matchers may be satisfied by the same item in the array."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatches.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatches.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatches.Initializer.parameter.matcher",
              "displayName": "matcher",
              "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatches.Initializer.parameter.matcher",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The matcher for each entry in the array."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.arrays.ArrayEachEntryMatches(matcher: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatches.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatches.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatches",
        "displayName": "ArrayEachEntryMatches",
        "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatches",
        "docs": {
          "summary": "Matches an array where each element matches the provided matcher."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatchesWithExample.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatchesWithExample.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatchesWithExample.Initializer.parameter.matcher",
              "displayName": "matcher",
              "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatchesWithExample.Initializer.parameter.matcher",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The matcher for each entry in the array."
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatchesWithExample.Initializer.parameter.example",
              "displayName": "example",
              "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatchesWithExample.Initializer.parameter.example",
              "type": {
                "formattingPattern": "%[]",
                "types": [
                  {
                    "formattingPattern": "any"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- An optional example of the whole array to return."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.arrays.ArrayEachEntryMatchesWithExample(matcher: any, example: any[])"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatchesWithExample.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatchesWithExample.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatchesWithExample",
        "displayName": "ArrayEachEntryMatchesWithExample",
        "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayEachEntryMatchesWithExample",
        "docs": {
          "summary": "Matches an array where each element matches the provided matcher, but with a custom example for the whole array.",
          "remarks": "This example must still pass the\nprovided matcher"
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLength.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLength.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLength.Initializer.parameter.options",
              "displayName": "options",
              "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLength.Initializer.parameter.options",
              "type": {
                "formattingPattern": "%",
                "types": [
                  {
                    "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLengthOptions",
                    "displayName": "ArrayLengthOptions",
                    "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLengthOptions",
                    "packageName": "@contract-case/case-definition-dsl",
                    "packageVersion": "0.29.1",
                    "submodule": "matchers"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- An `ArrayLengthOptions` object with optional minLength (default 1) and maxLength (default infinity) properties."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.arrays.ArrayLength(options: ArrayLengthOptions)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLength.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLength.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLength",
        "displayName": "ArrayLength",
        "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLength",
        "docs": {
          "summary": "Matches an Array whose length is within the specified range (or 1-infinity if not specified)."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayStartsWith.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayStartsWith.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayStartsWith.Initializer.parameter.matchers",
              "displayName": "matchers",
              "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayStartsWith.Initializer.parameter.matchers",
              "type": {
                "formattingPattern": "%[]",
                "types": [
                  {
                    "formattingPattern": "any"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "-  An array of matchers that describes the start of the array.",
                "remarks": "Additional elements in the actual array are ignored."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.arrays.ArrayStartsWith(matchers: any[])"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayStartsWith.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayStartsWith.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayStartsWith",
        "displayName": "ArrayStartsWith",
        "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayStartsWith",
        "docs": {
          "summary": "Matches an Array which starts with the provided array of matchers - any additional elements in the array are ignored."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.strings.Base64Encoded.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.strings.Base64Encoded.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.strings.Base64Encoded.Initializer.parameter.child",
              "displayName": "child",
              "id": "@contract-case/case-definition-dsl.matchers.strings.Base64Encoded.Initializer.parameter.child",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The string or string matcher that would match the decoded string."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.strings.Base64Encoded(child: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.strings.Base64Encoded.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.strings.Base64Encoded.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.strings.Base64Encoded",
        "displayName": "Base64Encoded",
        "id": "@contract-case/case-definition-dsl.matchers.strings.Base64Encoded",
        "docs": {
          "summary": "Transformation matcher that matches a base64 encoded version of the given string or string matcher.",
          "remarks": "WARNING: Since many strings are accidentally decodable as base64, this matcher is\nbest combined with a more restrictive string matcher (eg `StringifiedJson`)."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.http.BasicAuthHeaderValue.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.http.BasicAuthHeaderValue.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.http.BasicAuthHeaderValue.Initializer.parameter.username",
              "displayName": "username",
              "id": "@contract-case/case-definition-dsl.matchers.http.BasicAuthHeaderValue.Initializer.parameter.username",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The username for this basic auth header."
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.http.BasicAuthHeaderValue.Initializer.parameter.password",
              "displayName": "password",
              "id": "@contract-case/case-definition-dsl.matchers.http.BasicAuthHeaderValue.Initializer.parameter.password",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The password for this basic auth password."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.http.BasicAuthHeaderValue(username: any, password: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.BasicAuthHeaderValue.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.http.BasicAuthHeaderValue.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.http.BasicAuthHeaderValue",
        "displayName": "BasicAuthHeaderValue",
        "id": "@contract-case/case-definition-dsl.matchers.http.BasicAuthHeaderValue",
        "docs": {
          "summary": "Matches the value part of a basic auth header with the supplied username and password - useful in conjunction with the StateVariable matcher."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.http.BearerTokenHeaderValue.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.http.BearerTokenHeaderValue.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.http.BearerTokenHeaderValue.Initializer.parameter.token",
              "displayName": "token",
              "id": "@contract-case/case-definition-dsl.matchers.http.BearerTokenHeaderValue.Initializer.parameter.token",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- A string or string matcher for a Bearer auth token."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.http.BearerTokenHeaderValue(token: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.BearerTokenHeaderValue.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.http.BearerTokenHeaderValue.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.http.BearerTokenHeaderValue",
        "displayName": "BearerTokenHeaderValue",
        "id": "@contract-case/case-definition-dsl.matchers.http.BearerTokenHeaderValue",
        "docs": {
          "summary": "Matches the value part of a OIDC or OAuth header with the supplied token - useful in conjunction with the StateVariable matcher."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.base.CascadingContextMatcher.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.base.CascadingContextMatcher.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.base.CascadingContextMatcher.Initializer.parameter.child",
              "displayName": "child",
              "id": "@contract-case/case-definition-dsl.matchers.base.CascadingContextMatcher.Initializer.parameter.child",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The matcher to apply these context changes to."
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.base.CascadingContextMatcher.Initializer.parameter.contextModifiers",
              "displayName": "contextModifiers",
              "id": "@contract-case/case-definition-dsl.matchers.base.CascadingContextMatcher.Initializer.parameter.contextModifiers",
              "type": {
                "formattingPattern": "{[ key: string ]: %}",
                "types": [
                  {
                    "formattingPattern": "string"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- a map of properties to add to the context object."
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.base.CascadingContextMatcher.Initializer.parameter.currentRunModifiers",
              "displayName": "currentRunModifiers",
              "id": "@contract-case/case-definition-dsl.matchers.base.CascadingContextMatcher.Initializer.parameter.currentRunModifiers",
              "type": {
                "formattingPattern": "{[ key: string ]: %}",
                "types": [
                  {
                    "formattingPattern": "string"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- a map of properties to add to the current run object."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.base.CascadingContextMatcher(child: any, contextModifiers: {[ key: string ]: string}, currentRunModifiers: {[ key: string ]: string})"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.base.CascadingContextMatcher.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.base.CascadingContextMatcher.toJSON",
            "parameters": [],
            "docs": {
              "summary": "If extending this class, do not override this method (or if you do, make sure you call `super.toJSON()`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.base.CascadingContextMatcher",
        "displayName": "CascadingContextMatcher",
        "id": "@contract-case/case-definition-dsl.matchers.base.CascadingContextMatcher",
        "docs": {
          "summary": "This is a passthrough matcher that does nothing except call the child matcher with the current actual data.",
          "remarks": "It's useful for taking advantage of the context cascading available on all\nmatchers without needing to write you own matcher. Extend it if you want to\nmake a matcher that only changes the context object. If you don't know what\nthis means, you don't need to extend this matcher.\n\nDue to limitations with JSii, extending implementations MUST NOT override\n`toJSON`, or MUST return the result of `super.toJSON()` as part of their\ntoJSON method."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.convenience.ChangeLogLevel.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.convenience.ChangeLogLevel.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.convenience.ChangeLogLevel.Initializer.parameter.logLevel",
              "displayName": "logLevel",
              "id": "@contract-case/case-definition-dsl.matchers.convenience.ChangeLogLevel.Initializer.parameter.logLevel",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The new LogLevel.",
                "remarks": "One of \"none\" | \"error\" | \"warn\" | \"debug\" | \"maintainerDebug\" | \"deepMaintainerDebug\". see [LogLevel](https://case.contract-testing.io/docs/reference/configuring#loglevel-none--error--warn--debug--maintainerdebug) for details"
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.convenience.ChangeLogLevel.Initializer.parameter.child",
              "displayName": "child",
              "id": "@contract-case/case-definition-dsl.matchers.convenience.ChangeLogLevel.Initializer.parameter.child",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The next matcher in the tree."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.convenience.ChangeLogLevel(logLevel: string, child: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.convenience.ChangeLogLevel.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.convenience.ChangeLogLevel.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.convenience.ChangeLogLevel",
        "displayName": "ChangeLogLevel",
        "id": "@contract-case/case-definition-dsl.matchers.convenience.ChangeLogLevel",
        "docs": {
          "summary": "Alters the ContractCase log level below this matcher. Useful for debugging.",
          "remarks": "This has no effect on matching.\n\nNote that this log level matcher will be saved into the contract, so it will\nalso affect the log level during verification. Usually you will want to\nremove the use of this matcher before saving the contract."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.modifiers.ExactlyLike.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.modifiers.ExactlyLike.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.modifiers.ExactlyLike.Initializer.parameter.content",
              "displayName": "content",
              "id": "@contract-case/case-definition-dsl.matchers.modifiers.ExactlyLike.Initializer.parameter.content",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The object, array, primitive or matcher to match exactly."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.modifiers.ExactlyLike(content: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.modifiers.ExactlyLike.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.modifiers.ExactlyLike.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.modifiers.ExactlyLike",
        "displayName": "ExactlyLike",
        "id": "@contract-case/case-definition-dsl.matchers.modifiers.ExactlyLike",
        "docs": {
          "summary": "Everything inside this matcher will be matched exactly, unless overridden with a generic matcher (eg `AnyString` or` ShapedLike`).",
          "remarks": "Use this to switch\nout of `shapedLike` and back to the default exact matching."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.functions.FunctionArguments.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.functions.FunctionArguments.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.functions.FunctionArguments.Initializer.parameter.expectedArguments",
              "displayName": "expectedArguments",
              "id": "@contract-case/case-definition-dsl.matchers.functions.FunctionArguments.Initializer.parameter.expectedArguments",
              "type": {
                "formattingPattern": "%[]",
                "types": [
                  {
                    "formattingPattern": "any"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- an array where each entry will be matched against the arguments."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.functions.FunctionArguments(expectedArguments: any[])"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.functions.FunctionArguments.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.functions.FunctionArguments.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.functions.FunctionArguments.property.arguments",
            "displayName": "arguments",
            "id": "@contract-case/case-definition-dsl.matchers.functions.FunctionArguments.property.arguments",
            "type": {
              "formattingPattern": "%[]",
              "types": [
                {
                  "formattingPattern": "any"
                }
              ]
            },
            "docs": {},
            "usage": "public readonly arguments: any[];"
          }
        ],
        "fqn": "@contract-case/case-definition-dsl.matchers.functions.FunctionArguments",
        "displayName": "FunctionArguments",
        "id": "@contract-case/case-definition-dsl.matchers.functions.FunctionArguments",
        "docs": {
          "summary": "Matches function arguments, for use with a MockFunctionCall / MockFunctionExecution.",
          "remarks": "Usually you don't need to use this matcher directly, the mock creates it for you."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.Initializer.parameter.requestExample",
              "displayName": "requestExample",
              "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.Initializer.parameter.requestExample",
              "type": {
                "formattingPattern": "%",
                "types": [
                  {
                    "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample",
                    "displayName": "HttpRequestExample",
                    "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample",
                    "packageName": "@contract-case/case-definition-dsl",
                    "packageVersion": "0.29.1",
                    "submodule": "matchers"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- An HttpResponseExample that describes the response."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.http.HttpRequest(requestExample: HttpRequestExample)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.property.method",
            "displayName": "method",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.property.method",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly method: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.property.path",
            "displayName": "path",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.property.path",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly path: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.property.body",
            "displayName": "body",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.property.body",
            "optional": true,
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly body: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.property.headers",
            "displayName": "headers",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.property.headers",
            "optional": true,
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly headers: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.property.query",
            "displayName": "query",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.property.query",
            "optional": true,
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly query: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.property.uniqueName",
            "displayName": "uniqueName",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequest.property.uniqueName",
            "optional": true,
            "type": {
              "formattingPattern": "string"
            },
            "docs": {},
            "usage": "public readonly uniqueName: string;"
          }
        ],
        "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequest",
        "displayName": "HttpRequest",
        "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequest",
        "docs": {
          "summary": "Matches any HTTP Request with the provided properties."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.Initializer.parameter.responseExample",
              "displayName": "responseExample",
              "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.Initializer.parameter.responseExample",
              "type": {
                "formattingPattern": "%",
                "types": [
                  {
                    "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponseExample",
                    "displayName": "HttpResponseExample",
                    "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponseExample",
                    "packageName": "@contract-case/case-definition-dsl",
                    "packageVersion": "0.29.1",
                    "submodule": "matchers"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- An HttpResponseExample that describes the response."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.http.HttpResponse(responseExample: HttpResponseExample)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.property.status",
            "displayName": "status",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.property.status",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly status: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.property.body",
            "displayName": "body",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.property.body",
            "optional": true,
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly body: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.property.headers",
            "displayName": "headers",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.property.headers",
            "optional": true,
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly headers: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.property.uniqueName",
            "displayName": "uniqueName",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponse.property.uniqueName",
            "optional": true,
            "type": {
              "formattingPattern": "string"
            },
            "docs": {},
            "usage": "public readonly uniqueName: string;"
          }
        ],
        "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponse",
        "displayName": "HttpResponse",
        "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponse",
        "docs": {
          "summary": "Matches any HTTP Response with the provided properties."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpStatusCode.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.http.HttpStatusCode.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpStatusCode.Initializer.parameter.statusCode",
              "displayName": "statusCode",
              "id": "@contract-case/case-definition-dsl.matchers.http.HttpStatusCode.Initializer.parameter.statusCode",
              "type": {
                "formattingPattern": "% | %",
                "types": [
                  {
                    "formattingPattern": "string"
                  },
                  {
                    "formattingPattern": "%[]",
                    "types": [
                      {
                        "formattingPattern": "string"
                      }
                    ]
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- The http status code to match, expressed as a number or string (eg `200`, `\"404\"` or `\"4XX\"`)."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.http.HttpStatusCode(statusCode: string | string[])"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpStatusCode.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpStatusCode.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpStatusCode",
        "displayName": "HttpStatusCode",
        "id": "@contract-case/case-definition-dsl.matchers.http.HttpStatusCode",
        "docs": {
          "summary": "Matches an HTTP status code."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.interactions.IgnoreThisClass.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.interactions.IgnoreThisClass.Initializer",
          "parameters": [],
          "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nnew interactions.IgnoreThisClass()"
        },
        "interfaces": [],
        "instanceMethods": [],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.interactions.IgnoreThisClass",
        "displayName": "IgnoreThisClass",
        "id": "@contract-case/case-definition-dsl.interactions.IgnoreThisClass",
        "docs": {
          "summary": "Empty class to make jsii-docgen happy with this module."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.IgnoreThisClass.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.IgnoreThisClass.Initializer",
          "parameters": [],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.IgnoreThisClass()"
        },
        "interfaces": [],
        "instanceMethods": [],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.IgnoreThisClass",
        "displayName": "IgnoreThisClass",
        "id": "@contract-case/case-definition-dsl.matchers.IgnoreThisClass",
        "docs": {
          "summary": "Empty class to make jsii-docgen happy with this module."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.states.InState.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.states.InState.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.states.InState.Initializer.parameter.stateName",
              "displayName": "stateName",
              "id": "@contract-case/case-definition-dsl.states.InState.Initializer.parameter.stateName",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The name of the state used by this example.",
                "remarks": "This must\nmatch one of the state handlers provided in the configuration during the\nexample run."
              }
            }
          ],
          "usage": "import { states } from '@contract-case/case-definition-dsl'\n\nnew states.InState(stateName: string)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.states.InState.stringify",
            "displayName": "stringify",
            "id": "@contract-case/case-definition-dsl.states.InState.stringify",
            "parameters": [],
            "docs": {
              "summary": "You shouldn't need to override this method.",
              "remarks": "You don't need to call this\nmethod, unless working on a wrapper for ContractCase.\n\nThis method returns the entire state descriptor as a JSON string, as a convenience\nso that wrapper libraries don't need to figure out how to walk a tree of example objects."
            },
            "usage": "public stringify(): string"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.states.InState.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.states.InState.toJSON",
            "parameters": [],
            "docs": {
              "summary": "You shouldn't need to override or call this method.",
              "remarks": "It exists because the ContractCase matcher format is not legal in all languages that ContractCase supports.\n\nIt isn't called by any implementation directly, it's used on the javascript side by `JSON.stringify()`.\n\nCalling it from a wrapper library will return unhelpful results, as JSii can't map all objects that it returns.\n\nWARNING: Do not return a string from this method. You must instead return\nan object that can be serialised to JSON following the matcher format\ndescribed in [Extending ContractCase](https://case.contract-testing.io/docs/reference/plugin-framework)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.states.InState.property.stateName",
            "displayName": "stateName",
            "id": "@contract-case/case-definition-dsl.states.InState.property.stateName",
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "The name of this state, used to determine which state handler to run."
            },
            "usage": "public readonly stateName: string;"
          }
        ],
        "fqn": "@contract-case/case-definition-dsl.states.InState",
        "displayName": "InState",
        "id": "@contract-case/case-definition-dsl.states.InState",
        "docs": {
          "summary": "A state descriptor for configuring an example that needs to run in a particular named state."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.states.InStateWithVariables.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.states.InStateWithVariables.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.states.InStateWithVariables.Initializer.parameter.stateName",
              "displayName": "stateName",
              "id": "@contract-case/case-definition-dsl.states.InStateWithVariables.Initializer.parameter.stateName",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The name of the state used by this example.",
                "remarks": "This must\nmatch one of the state handlers provided in the configuration during the\nexample run."
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.states.InStateWithVariables.Initializer.parameter.variables",
              "displayName": "variables",
              "id": "@contract-case/case-definition-dsl.states.InStateWithVariables.Initializer.parameter.variables",
              "type": {
                "formattingPattern": "{[ key: string ]: %}",
                "types": [
                  {
                    "formattingPattern": "any"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- A object where the keys are variable names, mapped to any data or matcher objects."
              }
            }
          ],
          "usage": "import { states } from '@contract-case/case-definition-dsl'\n\nnew states.InStateWithVariables(stateName: string, variables: {[ key: string ]: any})"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.states.InStateWithVariables.stringify",
            "displayName": "stringify",
            "id": "@contract-case/case-definition-dsl.states.InStateWithVariables.stringify",
            "parameters": [],
            "docs": {
              "summary": "You shouldn't need to override this method.",
              "remarks": "You don't need to call this\nmethod, unless working on a wrapper for ContractCase.\n\nThis method returns the entire state descriptor as a JSON string, as a convenience\nso that wrapper libraries don't need to figure out how to walk a tree of example objects."
            },
            "usage": "public stringify(): string"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.states.InStateWithVariables.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.states.InStateWithVariables.toJSON",
            "parameters": [],
            "docs": {
              "summary": "You shouldn't need to override or call this method.",
              "remarks": "It exists because the ContractCase matcher format is not legal in all languages that ContractCase supports.\n\nIt isn't called by any implementation directly, it's used on the javascript side by `JSON.stringify()`.\n\nCalling it from a wrapper library will return unhelpful results, as JSii can't map all objects that it returns.\n\nWARNING: Do not return a string from this method. You must instead return\nan object that can be serialised to JSON following the matcher format\ndescribed in [Extending ContractCase](https://case.contract-testing.io/docs/reference/plugin-framework)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.states.InStateWithVariables.property.stateName",
            "displayName": "stateName",
            "id": "@contract-case/case-definition-dsl.states.InStateWithVariables.property.stateName",
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "The name of this state, used to determine which state handler to run."
            },
            "usage": "public readonly stateName: string;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.states.InStateWithVariables.property.variables",
            "displayName": "variables",
            "id": "@contract-case/case-definition-dsl.states.InStateWithVariables.property.variables",
            "type": {
              "formattingPattern": "{[ key: string ]: %}",
              "types": [
                {
                  "formattingPattern": "any"
                }
              ]
            },
            "docs": {},
            "usage": "public readonly variables: {[ key: string ]: any};"
          }
        ],
        "fqn": "@contract-case/case-definition-dsl.states.InStateWithVariables",
        "displayName": "InStateWithVariables",
        "id": "@contract-case/case-definition-dsl.states.InStateWithVariables",
        "docs": {
          "summary": "A state descriptor for configuring an example that needs to run in a particular named state, and with variables provided by the framework."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.convenience.NamedMatch.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.convenience.NamedMatch.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.convenience.NamedMatch.Initializer.parameter.name",
              "displayName": "name",
              "id": "@contract-case/case-definition-dsl.matchers.convenience.NamedMatch.Initializer.parameter.name",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The name you can use to lookup this matcher later."
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.convenience.NamedMatch.Initializer.parameter.child",
              "displayName": "child",
              "id": "@contract-case/case-definition-dsl.matchers.convenience.NamedMatch.Initializer.parameter.child",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The content of this named match.",
                "remarks": "If omitted or undefined, the content will be looked up in a previously named match"
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.convenience.NamedMatch(name: string, child: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.convenience.NamedMatch.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.convenience.NamedMatch.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.convenience.NamedMatch",
        "displayName": "NamedMatch",
        "id": "@contract-case/case-definition-dsl.matchers.convenience.NamedMatch",
        "docs": {
          "summary": "Saves the matcher below it with a unique name that can be used with lookups in tests after this one.",
          "remarks": "Lookups can be made with {@link matchers.convenience.ReferenceMatch }."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachKeyMatches.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachKeyMatches.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachKeyMatches.Initializer.parameter.matcher",
              "displayName": "matcher",
              "id": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachKeyMatches.Initializer.parameter.matcher",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The matcher that all keys must pass."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.objects.ObjectEachKeyMatches(matcher: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachKeyMatches.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachKeyMatches.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachKeyMatches",
        "displayName": "ObjectEachKeyMatches",
        "id": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachKeyMatches",
        "docs": {
          "summary": "Matches an object where each key matches the provided matcher."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachValueMatches.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachValueMatches.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachValueMatches.Initializer.parameter.matcher",
              "displayName": "matcher",
              "id": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachValueMatches.Initializer.parameter.matcher",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The matcher that all values must pass."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.objects.ObjectEachValueMatches(matcher: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachValueMatches.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachValueMatches.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachValueMatches",
        "displayName": "ObjectEachValueMatches",
        "id": "@contract-case/case-definition-dsl.matchers.objects.ObjectEachValueMatches",
        "docs": {
          "summary": "Matches an object where each value matches the provided matcher."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.convenience.ReferenceMatch.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.convenience.ReferenceMatch.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.convenience.ReferenceMatch.Initializer.parameter.name",
              "displayName": "name",
              "id": "@contract-case/case-definition-dsl.matchers.convenience.ReferenceMatch.Initializer.parameter.name",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The name you gave to a previous call of `NamedMatch`."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.convenience.ReferenceMatch(name: string)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.convenience.ReferenceMatch.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.convenience.ReferenceMatch.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.convenience.ReferenceMatch",
        "displayName": "ReferenceMatch",
        "id": "@contract-case/case-definition-dsl.matchers.convenience.ReferenceMatch",
        "docs": {
          "summary": "Matches a named matcher created with {@link matchers.convenience.NamedMatch }."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.modifiers.ShapedLike.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.modifiers.ShapedLike.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.modifiers.ShapedLike.Initializer.parameter.content",
              "displayName": "content",
              "id": "@contract-case/case-definition-dsl.matchers.modifiers.ShapedLike.Initializer.parameter.content",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The object, array, primitive or matcher to match the shape against."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.modifiers.ShapedLike(content: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.modifiers.ShapedLike.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.modifiers.ShapedLike.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.modifiers.ShapedLike",
        "displayName": "ShapedLike",
        "id": "@contract-case/case-definition-dsl.matchers.modifiers.ShapedLike",
        "docs": {
          "summary": "Everything inside this matcher will be matched on the shape of the data (ie, type alone), unless overridden with other matchers.",
          "remarks": "Use this to switch out\nof the default `exactlyLike` matching."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.convenience.StateVariable.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.convenience.StateVariable.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.convenience.StateVariable.Initializer.parameter.name",
              "displayName": "name",
              "id": "@contract-case/case-definition-dsl.matchers.convenience.StateVariable.Initializer.parameter.name",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The name of the variable."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.convenience.StateVariable(name: string)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.convenience.StateVariable.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.convenience.StateVariable.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.convenience.StateVariable",
        "displayName": "StateVariable",
        "id": "@contract-case/case-definition-dsl.matchers.convenience.StateVariable",
        "docs": {
          "summary": "Matches the content of a variable that comes from a state.",
          "remarks": "See {@link https://case.contract-testing.io/docs/defining-contracts/state-definitions state} * definitions}\nand {@link https://case.contract-testing.io/docs/reference/state-handlers state handlers} for\nmore details."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringContaining.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.strings.StringContaining.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringContaining.Initializer.parameter.substring",
              "displayName": "substring",
              "id": "@contract-case/case-definition-dsl.matchers.strings.StringContaining.Initializer.parameter.substring",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The substring that the matcher must contain."
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringContaining.Initializer.parameter.example",
              "displayName": "example",
              "id": "@contract-case/case-definition-dsl.matchers.strings.StringContaining.Initializer.parameter.example",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- An example string that passes this matcher."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.strings.StringContaining(substring: string, example: string)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringContaining.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.strings.StringContaining.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringContaining",
        "displayName": "StringContaining",
        "id": "@contract-case/case-definition-dsl.matchers.strings.StringContaining",
        "docs": {
          "summary": "Matches any string that contains the given substring."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringifiedJson.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.strings.StringifiedJson.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringifiedJson.Initializer.parameter.child",
              "displayName": "child",
              "id": "@contract-case/case-definition-dsl.matchers.strings.StringifiedJson.Initializer.parameter.child",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The object or matcher that matches the decoded."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.strings.StringifiedJson(child: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringifiedJson.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.strings.StringifiedJson.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringifiedJson",
        "displayName": "StringifiedJson",
        "id": "@contract-case/case-definition-dsl.matchers.strings.StringifiedJson",
        "docs": {
          "summary": "Transformation matcher that matches a JSON.stringify()ed version of the given object.",
          "remarks": "For example, if the actual data is the string:\n\n```ts\n\"{\\\"foo\\\":2}\"\n```\n\nthen you could match it with:\n\n```ts\nStringifiedJson({\n  \"foo\": 2\n})\n```\n\nor\n\n```ts\nStringifiedJson({\n  \"foo\": AnyNumber(2)\n})\n```"
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringPrefix.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.strings.StringPrefix.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringPrefix.Initializer.parameter.prefix",
              "displayName": "prefix",
              "id": "@contract-case/case-definition-dsl.matchers.strings.StringPrefix.Initializer.parameter.prefix",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The prefix string.",
                "remarks": "Must be a string and not a matcher"
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringPrefix.Initializer.parameter.suffix",
              "displayName": "suffix",
              "id": "@contract-case/case-definition-dsl.matchers.strings.StringPrefix.Initializer.parameter.suffix",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- A string or matcher to match against the suffix."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.strings.StringPrefix(prefix: string, suffix: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringPrefix.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.strings.StringPrefix.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringPrefix",
        "displayName": "StringPrefix",
        "id": "@contract-case/case-definition-dsl.matchers.strings.StringPrefix",
        "docs": {
          "summary": "Matches any string that begins with the given constant string prefix, and ends with a matchable suffix.",
          "remarks": "At match time, the actual string is checked for the constant prefix, and then\nthe rest of the string is passed to the suffix matcher..\n\nThe suffix matcher must be expecting a string.\n\nSee also {@link matchers.strings.StringSuffix StringSuffix}"
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringSuffix.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.strings.StringSuffix.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringSuffix.Initializer.parameter.prefix",
              "displayName": "prefix",
              "id": "@contract-case/case-definition-dsl.matchers.strings.StringSuffix.Initializer.parameter.prefix",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- A string or matcher to match against the prefix.",
                "remarks": "If you don't mind what the prefix is, pass null / undefined"
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringSuffix.Initializer.parameter.suffix",
              "displayName": "suffix",
              "id": "@contract-case/case-definition-dsl.matchers.strings.StringSuffix.Initializer.parameter.suffix",
              "type": {
                "formattingPattern": "string"
              },
              "variadic": false,
              "docs": {
                "summary": "- The suffix for the matched string.",
                "remarks": "Must be a string and not a matcher"
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.strings.StringSuffix(prefix: any, suffix: string)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringSuffix.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.strings.StringSuffix.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.strings.StringSuffix",
        "displayName": "StringSuffix",
        "id": "@contract-case/case-definition-dsl.matchers.strings.StringSuffix",
        "docs": {
          "summary": "Matches any string that begins with a matchable prefix, and ends with a constant suffix.",
          "remarks": "At match time, the actual string is checked for the expected constant suffix,\nand then the beginning of the string is passed to the prefix matcher.\n\nThe prefix matcher must be expecting a string.\n\nSee also {@link matchers.strings.StringPrefix StringPrefix}"
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.http.UriEncodedString.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.http.UriEncodedString.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.http.UriEncodedString.Initializer.parameter.child",
              "displayName": "child",
              "id": "@contract-case/case-definition-dsl.matchers.http.UriEncodedString.Initializer.parameter.child",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- Any string matcher or literal string."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.http.UriEncodedString(child: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.UriEncodedString.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.http.UriEncodedString.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.http.UriEncodedString",
        "displayName": "UriEncodedString",
        "id": "@contract-case/case-definition-dsl.matchers.http.UriEncodedString",
        "docs": {
          "summary": "Convenience matcher to treat the string as a uri encoded string - useful in `path` segments.",
          "remarks": "During matching, the actual value is decoded with `decodeUriComponent()` and passed to the child matcher."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.Initializer.parameter.example",
              "displayName": "example",
              "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.Initializer.parameter.example",
              "type": {
                "formattingPattern": "%",
                "types": [
                  {
                    "id": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample",
                    "displayName": "FunctionExecutionExample",
                    "fqn": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample",
                    "packageName": "@contract-case/case-definition-dsl",
                    "packageVersion": "0.29.1",
                    "submodule": "interactions"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- a {@link mocks.functions.FunctionExecutionExample }."
              }
            }
          ],
          "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nnew interactions.functions.WillCallFunction(example: FunctionExecutionExample)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.stringify",
            "displayName": "stringify",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.stringify",
            "parameters": [],
            "docs": {
              "summary": "This method returns the entire example as a JSON string, as a convenience so that wrapper libraries don't need to figure out how to walk a tree of example objects.",
              "remarks": "You shouldn't need to override this method."
            },
            "usage": "public stringify(): string"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.toJSON",
            "parameters": [],
            "docs": {
              "summary": "Only override this method if you are writing a matcher in a language other than TypeScript.",
              "remarks": "It exists because the ContractCase matcher format is not legal in all languages that ContractCase supports.\n\nIt isn't called by any implementation directly, it's used on the javascript side by `JSON.stringify()`.\n\nCalling it from a wrapper library will return unhelpful results, as JSii can't map all objects that it returns.\n\nWARNING: Do not return a string from this method. You must instead return\nan object that can be serialised to JSON following the matcher format\ndescribed in [Extending ContractCase](https://case.contract-testing.io/docs/reference/plugin-framework)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.property.functionName",
            "displayName": "functionName",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.property.functionName",
            "type": {
              "formattingPattern": "string"
            },
            "docs": {},
            "usage": "public readonly functionName: string;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.property.request",
            "displayName": "request",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.property.request",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly request: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.property.response",
            "displayName": "response",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction.property.response",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly response: any;"
          }
        ],
        "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction",
        "displayName": "WillCallFunction",
        "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallFunction",
        "docs": {
          "summary": "Defines an example that executes a registered function with specific arguments."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.Initializer.parameter.example",
              "displayName": "example",
              "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.Initializer.parameter.example",
              "type": {
                "formattingPattern": "%",
                "types": [
                  {
                    "id": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample",
                    "displayName": "ThrowingFunctionExecutionExample",
                    "fqn": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample",
                    "packageName": "@contract-case/case-definition-dsl",
                    "packageVersion": "0.29.1",
                    "submodule": "interactions"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- a {@link mocks.functions.FunctionExecutionExample }."
              }
            }
          ],
          "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nnew interactions.functions.WillCallThrowingFunction(example: ThrowingFunctionExecutionExample)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.stringify",
            "displayName": "stringify",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.stringify",
            "parameters": [],
            "docs": {
              "summary": "This method returns the entire example as a JSON string, as a convenience so that wrapper libraries don't need to figure out how to walk a tree of example objects.",
              "remarks": "You shouldn't need to override this method."
            },
            "usage": "public stringify(): string"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.toJSON",
            "parameters": [],
            "docs": {
              "summary": "Only override this method if you are writing a matcher in a language other than TypeScript.",
              "remarks": "It exists because the ContractCase matcher format is not legal in all languages that ContractCase supports.\n\nIt isn't called by any implementation directly, it's used on the javascript side by `JSON.stringify()`.\n\nCalling it from a wrapper library will return unhelpful results, as JSii can't map all objects that it returns.\n\nWARNING: Do not return a string from this method. You must instead return\nan object that can be serialised to JSON following the matcher format\ndescribed in [Extending ContractCase](https://case.contract-testing.io/docs/reference/plugin-framework)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.property.functionName",
            "displayName": "functionName",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.property.functionName",
            "type": {
              "formattingPattern": "string"
            },
            "docs": {},
            "usage": "public readonly functionName: string;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.property.request",
            "displayName": "request",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.property.request",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly request: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.property.response",
            "displayName": "response",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction.property.response",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly response: any;"
          }
        ],
        "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction",
        "displayName": "WillCallThrowingFunction",
        "id": "@contract-case/case-definition-dsl.interactions.functions.WillCallThrowingFunction",
        "docs": {
          "summary": "Defines an interaction that executes a registered function with specific arguments, expecting that function to throw an error."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.Initializer.parameter.example",
              "displayName": "example",
              "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.Initializer.parameter.example",
              "type": {
                "formattingPattern": "%",
                "types": [
                  {
                    "id": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample",
                    "displayName": "FunctionExecutionExample",
                    "fqn": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample",
                    "packageName": "@contract-case/case-definition-dsl",
                    "packageVersion": "0.29.1",
                    "submodule": "interactions"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- a {@link mocks.functions.FunctionExecutionExample }."
              }
            }
          ],
          "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nnew interactions.functions.WillReceiveFunctionCall(example: FunctionExecutionExample)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.stringify",
            "displayName": "stringify",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.stringify",
            "parameters": [],
            "docs": {
              "summary": "This method returns the entire example as a JSON string, as a convenience so that wrapper libraries don't need to figure out how to walk a tree of example objects.",
              "remarks": "You shouldn't need to override this method."
            },
            "usage": "public stringify(): string"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.toJSON",
            "parameters": [],
            "docs": {
              "summary": "Only override this method if you are writing a matcher in a language other than TypeScript.",
              "remarks": "It exists because the ContractCase matcher format is not legal in all languages that ContractCase supports.\n\nIt isn't called by any implementation directly, it's used on the javascript side by `JSON.stringify()`.\n\nCalling it from a wrapper library will return unhelpful results, as JSii can't map all objects that it returns.\n\nWARNING: Do not return a string from this method. You must instead return\nan object that can be serialised to JSON following the matcher format\ndescribed in [Extending ContractCase](https://case.contract-testing.io/docs/reference/plugin-framework)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.property.functionName",
            "displayName": "functionName",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.property.functionName",
            "type": {
              "formattingPattern": "string"
            },
            "docs": {},
            "usage": "public readonly functionName: string;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.property.request",
            "displayName": "request",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.property.request",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly request: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.property.response",
            "displayName": "response",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall.property.response",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly response: any;"
          }
        ],
        "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall",
        "displayName": "WillReceiveFunctionCall",
        "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCall",
        "docs": {
          "summary": "Defines an example that expects a function to be called with specific arguments."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.Initializer.parameter.example",
              "displayName": "example",
              "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.Initializer.parameter.example",
              "type": {
                "formattingPattern": "%",
                "types": [
                  {
                    "id": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample",
                    "displayName": "ThrowingFunctionExecutionExample",
                    "fqn": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample",
                    "packageName": "@contract-case/case-definition-dsl",
                    "packageVersion": "0.29.1",
                    "submodule": "interactions"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- a {@link mocks.functions.FunctionExecutionExample }."
              }
            }
          ],
          "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nnew interactions.functions.WillReceiveFunctionCallAndThrow(example: ThrowingFunctionExecutionExample)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.stringify",
            "displayName": "stringify",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.stringify",
            "parameters": [],
            "docs": {
              "summary": "This method returns the entire example as a JSON string, as a convenience so that wrapper libraries don't need to figure out how to walk a tree of example objects.",
              "remarks": "You shouldn't need to override this method."
            },
            "usage": "public stringify(): string"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.toJSON",
            "parameters": [],
            "docs": {
              "summary": "Only override this method if you are writing a matcher in a language other than TypeScript.",
              "remarks": "It exists because the ContractCase matcher format is not legal in all languages that ContractCase supports.\n\nIt isn't called by any implementation directly, it's used on the javascript side by `JSON.stringify()`.\n\nCalling it from a wrapper library will return unhelpful results, as JSii can't map all objects that it returns.\n\nWARNING: Do not return a string from this method. You must instead return\nan object that can be serialised to JSON following the matcher format\ndescribed in [Extending ContractCase](https://case.contract-testing.io/docs/reference/plugin-framework)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.property.functionName",
            "displayName": "functionName",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.property.functionName",
            "type": {
              "formattingPattern": "string"
            },
            "docs": {},
            "usage": "public readonly functionName: string;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.property.request",
            "displayName": "request",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.property.request",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly request: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.property.response",
            "displayName": "response",
            "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow.property.response",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly response: any;"
          }
        ],
        "fqn": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow",
        "displayName": "WillReceiveFunctionCallAndThrow",
        "id": "@contract-case/case-definition-dsl.interactions.functions.WillReceiveFunctionCallAndThrow",
        "docs": {
          "summary": "Defines an example that expects a function to be called with specific arguments."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest.Initializer.parameter.httpExample",
              "displayName": "httpExample",
              "id": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest.Initializer.parameter.httpExample",
              "type": {
                "formattingPattern": "%",
                "types": [
                  {
                    "id": "@contract-case/case-definition-dsl.interactions.http.HttpExample",
                    "displayName": "HttpExample",
                    "fqn": "@contract-case/case-definition-dsl.interactions.http.HttpExample",
                    "packageName": "@contract-case/case-definition-dsl",
                    "packageVersion": "0.29.1",
                    "submodule": "interactions"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "- an {@link mocks.http.HttpExample }."
              }
            }
          ],
          "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nnew interactions.http.WillReceiveHttpRequest(httpExample: HttpExample)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest.stringify",
            "displayName": "stringify",
            "id": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest.stringify",
            "parameters": [],
            "docs": {
              "summary": "This method returns the entire example as a JSON string, as a convenience so that wrapper libraries don't need to figure out how to walk a tree of example objects.",
              "remarks": "You shouldn't need to override this method."
            },
            "usage": "public stringify(): string"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest.toJSON",
            "parameters": [],
            "docs": {
              "summary": "Only override this method if you are writing a matcher in a language other than TypeScript.",
              "remarks": "It exists because the ContractCase matcher format is not legal in all languages that ContractCase supports.\n\nIt isn't called by any implementation directly, it's used on the javascript side by `JSON.stringify()`.\n\nCalling it from a wrapper library will return unhelpful results, as JSii can't map all objects that it returns.\n\nWARNING: Do not return a string from this method. You must instead return\nan object that can be serialised to JSON following the matcher format\ndescribed in [Extending ContractCase](https://case.contract-testing.io/docs/reference/plugin-framework)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest.property.request",
            "displayName": "request",
            "id": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest.property.request",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly request: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest.property.response",
            "displayName": "response",
            "id": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest.property.response",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly response: any;"
          }
        ],
        "fqn": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest",
        "displayName": "WillReceiveHttpRequest",
        "id": "@contract-case/case-definition-dsl.interactions.http.WillReceiveHttpRequest",
        "docs": {
          "summary": "Defines an example that expects to receive an HTTP request.",
          "remarks": "Use this to define a contract at an HTTP client."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest.Initializer.parameter.httpExample",
              "displayName": "httpExample",
              "id": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest.Initializer.parameter.httpExample",
              "type": {
                "formattingPattern": "%",
                "types": [
                  {
                    "id": "@contract-case/case-definition-dsl.interactions.http.HttpExample",
                    "displayName": "HttpExample",
                    "fqn": "@contract-case/case-definition-dsl.interactions.http.HttpExample",
                    "packageName": "@contract-case/case-definition-dsl",
                    "packageVersion": "0.29.1",
                    "submodule": "interactions"
                  }
                ]
              },
              "variadic": false,
              "docs": {
                "summary": "-."
              }
            }
          ],
          "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nnew interactions.http.WillSendHttpRequest(httpExample: HttpExample)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest.stringify",
            "displayName": "stringify",
            "id": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest.stringify",
            "parameters": [],
            "docs": {
              "summary": "This method returns the entire example as a JSON string, as a convenience so that wrapper libraries don't need to figure out how to walk a tree of example objects.",
              "remarks": "You shouldn't need to override this method."
            },
            "usage": "public stringify(): string"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest.toJSON",
            "parameters": [],
            "docs": {
              "summary": "Only override this method if you are writing a matcher in a language other than TypeScript.",
              "remarks": "It exists because the ContractCase matcher format is not legal in all languages that ContractCase supports.\n\nIt isn't called by any implementation directly, it's used on the javascript side by `JSON.stringify()`.\n\nCalling it from a wrapper library will return unhelpful results, as JSii can't map all objects that it returns.\n\nWARNING: Do not return a string from this method. You must instead return\nan object that can be serialised to JSON following the matcher format\ndescribed in [Extending ContractCase](https://case.contract-testing.io/docs/reference/plugin-framework)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest.property.request",
            "displayName": "request",
            "id": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest.property.request",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly request: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest.property.response",
            "displayName": "response",
            "id": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest.property.response",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {},
            "usage": "public readonly response: any;"
          }
        ],
        "fqn": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest",
        "displayName": "WillSendHttpRequest",
        "id": "@contract-case/case-definition-dsl.interactions.http.WillSendHttpRequest",
        "docs": {
          "summary": "Defines an example that expects to send an HTTP request.",
          "remarks": "Use this to test HTTP servers."
        }
      },
      {
        "initializer": {
          "fqn": "@contract-case/case-definition-dsl.matchers.convenience.WithExample.Initializer",
          "displayName": "Initializer",
          "id": "@contract-case/case-definition-dsl.matchers.convenience.WithExample.Initializer",
          "parameters": [
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.convenience.WithExample.Initializer.parameter.matcher",
              "displayName": "matcher",
              "id": "@contract-case/case-definition-dsl.matchers.convenience.WithExample.Initializer.parameter.matcher",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- Any matcher to add an example to."
              }
            },
            {
              "fqn": "@contract-case/case-definition-dsl.matchers.convenience.WithExample.Initializer.parameter.example",
              "displayName": "example",
              "id": "@contract-case/case-definition-dsl.matchers.convenience.WithExample.Initializer.parameter.example",
              "type": {
                "formattingPattern": "any"
              },
              "variadic": false,
              "docs": {
                "summary": "- The example to use when stripping the matchers."
              }
            }
          ],
          "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nnew matchers.convenience.WithExample(matcher: any, example: any)"
        },
        "interfaces": [],
        "instanceMethods": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.convenience.WithExample.toJSON",
            "displayName": "toJSON",
            "id": "@contract-case/case-definition-dsl.matchers.convenience.WithExample.toJSON",
            "parameters": [],
            "docs": {
              "summary": "For non-TypeScript implementations (see `AnyMatcher.toJSON`)."
            },
            "usage": "public toJSON(): any"
          }
        ],
        "staticMethods": [],
        "constants": [],
        "properties": [],
        "fqn": "@contract-case/case-definition-dsl.matchers.convenience.WithExample",
        "displayName": "WithExample",
        "id": "@contract-case/case-definition-dsl.matchers.convenience.WithExample",
        "docs": {
          "summary": "Adds an example to the provided matcher.",
          "remarks": "Useful when you have a complicated\nset of constraints and ContractCase can't figure out what the best example should be.\n\nNote that providing any example will override examples provided further down the tree."
        }
      }
    ],
    "structs": [
      {
        "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLengthOptions",
        "displayName": "ArrayLengthOptions",
        "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLengthOptions",
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLengthOptions.property.maxLength",
            "displayName": "maxLength",
            "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLengthOptions.property.maxLength",
            "optional": true,
            "type": {
              "formattingPattern": "number"
            },
            "docs": {
              "summary": "The maximum length for the array - must be greater than minimum length.",
              "remarks": "Default infinity."
            },
            "usage": "public readonly maxLength: number;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLengthOptions.property.minLength",
            "displayName": "minLength",
            "id": "@contract-case/case-definition-dsl.matchers.arrays.ArrayLengthOptions.property.minLength",
            "optional": true,
            "type": {
              "formattingPattern": "number"
            },
            "docs": {
              "summary": "The minimum length for the array - must be greater than zero, otherwise empty arrays pass and you wouldn't be testing the array contents.",
              "remarks": "Default 1."
            },
            "usage": "public readonly minLength: number;"
          }
        ],
        "docs": {
          "summary": "Options for the `ArrayLength` matcher."
        },
        "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nconst arrayLengthOptions: matchers.arrays.ArrayLengthOptions = { ... }"
      },
      {
        "fqn": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreBehaviour",
        "displayName": "ContractCaseCoreBehaviour",
        "id": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreBehaviour",
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreBehaviour.property.mockType",
            "displayName": "mockType",
            "id": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreBehaviour.property.mockType",
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "The type of this mock.",
              "remarks": "Usually this is inverted on read vs write, for\nexample, a written MOCK_HTTP_CLIENT might become a MOCK_HTTP_SERVER during\nreading.\n\nThis will almost always be the same as the top level type for your mock\nduring read - but if it is different, ContractCase will respect this value."
            },
            "usage": "public readonly mockType: string;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreBehaviour.property.stateVariables",
            "displayName": "stateVariables",
            "id": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreBehaviour.property.stateVariables",
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "Whether or not this mock mode will invoke state handlers.",
              "remarks": "If set to\n`\"default\"` then ContractCase will not invoke or require the state handlers\nand will use the default values for all state variables. If set to `\"state\"`,\nthen ContractCase will invoke the state handlers and require the expected variables to\nbe returned.\n\nAll other values are errors."
            },
            "usage": "public readonly stateVariables: string;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreBehaviour.property.triggers",
            "displayName": "triggers",
            "id": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreBehaviour.property.triggers",
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "Whether or not this mock mode needs to be triggered by user-provided code.",
              "remarks": "If `\"provided\"` then ContractCase will require the user to provide a\ntrigger and a test function (eg, for testing an HTTP Client, code that will\ninvoke it must be provided). If `\"generated\"`, then ContractCase will not\nrequire user provided triggers as it will generate them (eg, if the\nsystem under test is an HTTP server, ContractCase will generate client calls)."
            },
            "usage": "public readonly triggers: string;"
          }
        ],
        "docs": {
          "summary": "This type defines the core behaviour that ContractCase has with this mock.",
          "remarks": "If you are using the included example types from ContractCase (or any\nextension libraries), you do not need to use this class (or understand this\ndocumentation).\n\nThis documentation is only necessary for people extending ContractCase to include\nnew mock types.\n\nSee the definitions in the case-entities-internal package for more details."
        },
        "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nconst contractCaseCoreBehaviour: interactions.base.ContractCaseCoreBehaviour = { ... }"
      },
      {
        "fqn": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreSetup",
        "displayName": "ContractCaseCoreSetup",
        "id": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreSetup",
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreSetup.property.read",
            "displayName": "read",
            "id": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreSetup.property.read",
            "type": {
              "formattingPattern": "%",
              "types": [
                {
                  "id": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreBehaviour",
                  "displayName": "ContractCaseCoreBehaviour",
                  "fqn": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreBehaviour",
                  "packageName": "@contract-case/case-definition-dsl",
                  "packageVersion": "0.29.1",
                  "submodule": "interactions"
                }
              ]
            },
            "docs": {
              "summary": "Defines how the ContractCase core will behave when reading (ie, verifying) a interaction of this type."
            },
            "usage": "public readonly read: ContractCaseCoreBehaviour;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreSetup.property.write",
            "displayName": "write",
            "id": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreSetup.property.write",
            "type": {
              "formattingPattern": "%",
              "types": [
                {
                  "id": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreBehaviour",
                  "displayName": "ContractCaseCoreBehaviour",
                  "fqn": "@contract-case/case-definition-dsl.interactions.base.ContractCaseCoreBehaviour",
                  "packageName": "@contract-case/case-definition-dsl",
                  "packageVersion": "0.29.1",
                  "submodule": "interactions"
                }
              ]
            },
            "docs": {
              "summary": "Defines how the ContractCase core will behave when writing (ie, defining) an interaction of this type."
            },
            "usage": "public readonly write: ContractCaseCoreBehaviour;"
          }
        ],
        "docs": {},
        "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nconst contractCaseCoreSetup: interactions.base.ContractCaseCoreSetup = { ... }"
      },
      {
        "fqn": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample",
        "displayName": "FunctionExecutionExample",
        "id": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample",
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample.property.arguments",
            "displayName": "arguments",
            "id": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample.property.arguments",
            "type": {
              "formattingPattern": "%[]",
              "types": [
                {
                  "formattingPattern": "any"
                }
              ]
            },
            "docs": {
              "summary": "An array of expected function arguments (or test equivalence matchers for those arguments)."
            },
            "usage": "public readonly arguments: any[];"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample.property.functionName",
            "displayName": "functionName",
            "id": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample.property.functionName",
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "The name of the function to be executed.",
              "remarks": "Doubles as the handle used by\nregisterFunction."
            },
            "usage": "public readonly functionName: string;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample.property.returnValue",
            "displayName": "returnValue",
            "id": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample.property.returnValue",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "A test equivalence matcher for the return value from this function."
            },
            "usage": "public readonly returnValue: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample.property.invocationName",
            "displayName": "invocationName",
            "id": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample.property.invocationName",
            "optional": true,
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "A name for this specific combination of arguments - must be unique in this contract."
            },
            "usage": "public readonly invocationName: string;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample.property.responseName",
            "displayName": "responseName",
            "id": "@contract-case/case-definition-dsl.interactions.functions.FunctionExecutionExample.property.responseName",
            "optional": true,
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "A name for this specific return value - must be unique in this contract."
            },
            "usage": "public readonly responseName: string;"
          }
        ],
        "docs": {
          "summary": "Interaction descriptor for a function execution which returns successfully."
        },
        "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nconst functionExecutionExample: interactions.functions.FunctionExecutionExample = { ... }"
      },
      {
        "fqn": "@contract-case/case-definition-dsl.interactions.http.HttpExample",
        "displayName": "HttpExample",
        "id": "@contract-case/case-definition-dsl.interactions.http.HttpExample",
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.http.HttpExample.property.request",
            "displayName": "request",
            "id": "@contract-case/case-definition-dsl.interactions.http.HttpExample.property.request",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "A test equivalence matcher that will match an HTTP request (recommended: the Test Equivalence Matcher `HttpRequest`)."
            },
            "usage": "public readonly request: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.http.HttpExample.property.response",
            "displayName": "response",
            "id": "@contract-case/case-definition-dsl.interactions.http.HttpExample.property.response",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "A test equivalence matcher that will match an HTTP response (recommended: the Test Equivalence Matcher `HttpResponse`)."
            },
            "usage": "public readonly response: any;"
          }
        ],
        "docs": {},
        "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nconst httpExample: interactions.http.HttpExample = { ... }"
      },
      {
        "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample",
        "displayName": "HttpRequestExample",
        "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample",
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample.property.method",
            "displayName": "method",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample.property.method",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "A string or string matcher that matches the method used for this example (eg `\"GET\"` or `\"POST\"`).",
              "remarks": "Case insensitive. Note that DELETE, GET and HEAD\nrequests should not have bodies - see the HTTP RFCs for details."
            },
            "usage": "public readonly method: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample.property.path",
            "displayName": "path",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample.property.path",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "A string or string matcher that matches the path of this example.",
              "remarks": "Note that any query parameters must be in the query, not in the path."
            },
            "usage": "public readonly path: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample.property.body",
            "displayName": "body",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample.property.body",
            "optional": true,
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "A test equivalence matcher or json object that describes the body for this response.",
              "remarks": "If not provided, no body matching is performed."
            },
            "usage": "public readonly body: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample.property.headers",
            "displayName": "headers",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample.property.headers",
            "optional": true,
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "A Map of header names and associated test-equivalence matcher values accepted by this example.",
              "remarks": "If not provided, no header matching is performed"
            },
            "usage": "public readonly headers: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample.property.query",
            "displayName": "query",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample.property.query",
            "optional": true,
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "A test-equivalence matcher for the query.",
              "remarks": "Usually this is a Map of\ntest-equivalence matchers to match the parsed query string, keyed by\nparameter name. Repeated parameters are collated and put in an\narray in this map."
            },
            "usage": "public readonly query: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample.property.uniqueName",
            "displayName": "uniqueName",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpRequestExample.property.uniqueName",
            "optional": true,
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "What unique name, if any, to give to this request."
            },
            "usage": "public readonly uniqueName: string;"
          }
        ],
        "docs": {},
        "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nconst httpRequestExample: matchers.http.HttpRequestExample = { ... }"
      },
      {
        "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponseExample",
        "displayName": "HttpResponseExample",
        "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponseExample",
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponseExample.property.status",
            "displayName": "status",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponseExample.property.status",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "Any test-equivalence matcher, string, or number for the HTTP status code accepted by this example (Recommended: Use the `HttpStatusCode` matcher)."
            },
            "usage": "public readonly status: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponseExample.property.body",
            "displayName": "body",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponseExample.property.body",
            "optional": true,
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "A test equivalence matcher or json object that describes the body for this response.",
              "remarks": "If not provided, no body matching is performed."
            },
            "usage": "public readonly body: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponseExample.property.headers",
            "displayName": "headers",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponseExample.property.headers",
            "optional": true,
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "A Map of header names and associated test-equivalence matcher values accepted by this example.",
              "remarks": "If not provided, no header matching is performed"
            },
            "usage": "public readonly headers: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.matchers.http.HttpResponseExample.property.uniqueName",
            "displayName": "uniqueName",
            "id": "@contract-case/case-definition-dsl.matchers.http.HttpResponseExample.property.uniqueName",
            "optional": true,
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "What unique name, if any, to give to this response."
            },
            "usage": "public readonly uniqueName: string;"
          }
        ],
        "docs": {},
        "usage": "import { matchers } from '@contract-case/case-definition-dsl'\n\nconst httpResponseExample: matchers.http.HttpResponseExample = { ... }"
      },
      {
        "fqn": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample",
        "displayName": "ThrowingFunctionExecutionExample",
        "id": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample",
        "properties": [
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample.property.arguments",
            "displayName": "arguments",
            "id": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample.property.arguments",
            "type": {
              "formattingPattern": "%[]",
              "types": [
                {
                  "formattingPattern": "any"
                }
              ]
            },
            "docs": {
              "summary": "An array of expected function arguments (or test equivalence matchers for those arguments)."
            },
            "usage": "public readonly arguments: any[];"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample.property.errorClassName",
            "displayName": "errorClassName",
            "id": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample.property.errorClassName",
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "A test equivalence matcher for the class name of this exception."
            },
            "usage": "public readonly errorClassName: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample.property.functionName",
            "displayName": "functionName",
            "id": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample.property.functionName",
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "The name of the function to be executed.",
              "remarks": "Doubles as the handle used by\nregisterFunction."
            },
            "usage": "public readonly functionName: string;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample.property.invocationName",
            "displayName": "invocationName",
            "id": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample.property.invocationName",
            "optional": true,
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "A name for this specific combination of arguments - must be unique in this contract."
            },
            "usage": "public readonly invocationName: string;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample.property.message",
            "displayName": "message",
            "id": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample.property.message",
            "optional": true,
            "type": {
              "formattingPattern": "any"
            },
            "docs": {
              "summary": "A test equivalence matcher for the message from this exception.",
              "remarks": "In general, it's best to rely on the class of the exception instead of the specific error message"
            },
            "usage": "public readonly message: any;"
          },
          {
            "fqn": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample.property.responseName",
            "displayName": "responseName",
            "id": "@contract-case/case-definition-dsl.interactions.functions.ThrowingFunctionExecutionExample.property.responseName",
            "optional": true,
            "type": {
              "formattingPattern": "string"
            },
            "docs": {
              "summary": "A name for this specific exception, must be unique in this."
            },
            "usage": "public readonly responseName: string;"
          }
        ],
        "docs": {
          "summary": "Interaction descriptor for a function execution that throws an error."
        },
        "usage": "import { interactions } from '@contract-case/case-definition-dsl'\n\nconst throwingFunctionExecutionExample: interactions.functions.ThrowingFunctionExecutionExample = { ... }"
      }
    ],
    "interfaces": [],
    "enums": []
  }
}