# API Reference

## Core Classes

The package exposes three primary classes through `neurodesign`:

```python
from neurodesign import Experiment, Design, Optimisation
```

### Experiment

```{eval-rst}
.. autoclass:: neurodesign.Experiment
   :members:
   :show-inheritance:
```

### Design

```{eval-rst}
.. autoclass:: neurodesign.Design
   :members:
   :show-inheritance:
```

### Optimisation

```{eval-rst}
.. autoclass:: neurodesign.Optimisation
   :members:
   :show-inheritance:
```

## Utility Modules

### generate

```{eval-rst}
.. automodule:: neurodesign.generate
   :members:
```

### msequence

```{eval-rst}
.. automodule:: neurodesign.msequence
   :members:
```

### report

```{eval-rst}
.. automodule:: neurodesign.report
   :members:
```
