<types ns="_africa">
  <embed src="node_modules/reloquent/types/index.xml"/>
  <record name="Config" desc="The configuration object to configure additional functionality.">
    <prop boolean name="force" default="false">
      Ask questions and update the configuration file even if it already exists.
    </prop>
    <prop string name="homedir" default="os.homedir()">
      In which directory to save and search for configuration file.
    </prop>
    <prop number name="questionsTimeout" opt>
      How log to wait in ms before timing out. Will wait forever by default.
    </prop>
    <prop boolean name="local" default="false">
      Whether to read a local config file in the current working directory rather than in the `HOMEDIR`. When initialising, the default values will be taken from the home config if it exists so that it is easy to extend `.rc` files.
    </prop>
    <prop boolean name="recursive" default="false">
      **`paid`** Read all configurations up to the root one from the home directory, and merge them together.
    </prop>
    <prop boolean name="skipExisting" default="true">
      **`paid`** When creating nested configs, skip writing values that are taken from parent RCs.
    </prop>
    <fn name="rcNameFunction" return="string" opt>
      <arg string name="packageName"></arg>
      Function used to generate the `.rc` name. Default: packageName => `.${packageName}rc`.
    </fn>
  </record>
  <interface name="Group">
    <fn name="constructor">
      <arg type="!_reloquent.Questions" name="questions">A set of questions.</arg>
    </fn>
    <prop type="!_reloquent.Questions" name="questions">
      The questions in the group.
    </prop>
  </interface>
</types>