```@meta
CollapsedDocStrings = true
```

# MRIBuilder.jl internal API
## Sequence components
```@autodocs
Modules = [
    MRIBuilder.Components,
    MRIBuilder.Components.AbstractTypes,
    MRIBuilder.Components.GradientWaveforms,
    MRIBuilder.Components.GradientWaveforms.NoGradientBlocks,
    MRIBuilder.Components.GradientWaveforms.ConstantGradientBlocks,
    MRIBuilder.Components.GradientWaveforms.ChangingGradientBlocks,
    MRIBuilder.Components.InstantGradients,
    MRIBuilder.Components.Pulses,
    MRIBuilder.Components.Pulses.GenericPulses,
    MRIBuilder.Components.Pulses.InstantPulses,
    MRIBuilder.Components.Pulses.ConstantPulses,
    MRIBuilder.Components.Pulses.SincPulses,
    MRIBuilder.Components.Readouts,
    MRIBuilder.Components.Readouts.ADCs,
    MRIBuilder.Components.Readouts.SingleReadouts,
]
```
## Containers for sequence components
```@autodocs
Modules = [
    MRIBuilder.Containers,
    MRIBuilder.Containers.Abstract,
    MRIBuilder.Containers.BuildingBlocks,
    MRIBuilder.Containers.BaseSequences,
    MRIBuilder.Containers.Alternatives,
]
```

## Pre-defined sequence parts
There are [helper functions](@ref helper_functions) available to actually add these to a sequence.
```@autodocs
Modules = [
    MRIBuilder.Parts,
    MRIBuilder.Parts.Trapezoids,
    MRIBuilder.Parts.SpoiltSliceSelects,
    MRIBuilder.Parts.SliceSelectRephases,
    MRIBuilder.Parts.EPIReadouts,
]
```
## Sequence I/O
```@autodocs
Modules = [
    MRIBuilder.SequenceIO,
    MRIBuilder.SequenceIO.Pulseq,
]
```

## Plot
```@autodocs
Modules = [
    MRIBuilder.Plot,
]
```