<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@contract-case/case-definition-dsl](./case-definition-dsl.md) &gt; [interactions](./case-definition-dsl.interactions.md) &gt; [base](./case-definition-dsl.interactions.base.md)

## interactions.base namespace

## Abstract Classes

<table><thead><tr><th>

Abstract Class

</th><th>

Description

</th></tr></thead>
<tbody><tr><td>

[AnyInteractionDescriptor](./case-definition-dsl.interactions.base.anyinteractiondescriptor.md)

</td><td>

The base class for all ContractCase Mock Descriptors. Extend this if you are implementing your own mock type.

If you are using the included example types from ContractCase (or any extension libraries), you do not need to read the documentation for this class.

Mock description type strings beginning with `_case:` are reserved for the default ContractCase matchers. Only use a types prefixed with `_case:` if you wish to create a DSL for a special case for a matching behaviour that is already provided by a core ContractCase mock.

</td></tr>
</tbody></table>

## Interfaces

<table><thead><tr><th>

Interface

</th><th>

Description

</th></tr></thead>
<tbody><tr><td>

[ContractCaseCoreBehaviour](./case-definition-dsl.interactions.base.contractcasecorebehaviour.md)

</td><td>

This type defines the core behaviour that ContractCase has with this mock.

If you are using the included example types from ContractCase (or any extension libraries), you do not need to use this class (or understand this documentation).

This documentation is only necessary for people extending ContractCase to include new mock types.

See the definitions in the case-entities-internal package for more details.

</td></tr>
<tr><td>

[ContractCaseCoreSetup](./case-definition-dsl.interactions.base.contractcasecoresetup.md)

</td><td>

</td></tr>
</tbody></table>
