<types namespace="_contextTesting">
  <import name="Test" ns="_contextTesting" from="@zoroaster/types" desc="The test interface." link="https://github.com/contexttesting/types#type-_contexttestingtest" />
  <import name="TestSuite" ns="_contextTesting" from="@zoroaster/types" desc="The test sutie interface." link="https://github.com/contexttesting/types#type-_contexttestingtestsuite" />

  <type record name="ReducerConfig" desc="The options for the reducer.">
    <prop boolean name="onlyFocused" default="false">
      Run only focused tests.
    </prop>
    <prop type="function(!_contextTesting.Test): !Promise" name="runTest">
      The function that wraps around `@zoroaster/reducer.runTest` method.
    </prop>
    <prop type="function(!_contextTesting.TestSuite, boolean): !Promise<!_contextTesting.TestSuite>" name="runTestSuite">
      The function used to run a test suite. The second argument receives whether only focused tests should be run within this test suite.
    </prop>
  </type>
</types>