# Exports & Events

{% hint style="info" %}
**Types & Classes**

All types & classes can be found in types.lua.
{% endhint %}

{% hint style="info" %}
**Suggestions?**

If you wish to have any exports and or events added, please head over to our Discord and create a suggestion post. We are happy to allow for easier integration within other resources.
{% endhint %}

## Client Exports

### Configure Alignments

> Opens the menu and inserts the data you provided, and returns all configured alignments when you close the menu.\
> \
> This is mainly meant to be used within other resources where you want to grab alignments.\
> \
> In here you can also enable a back button, to void confusion when loading & then returning safely.\
> \
> **Example:**
>
> ```lua
> ---@param data AlignmentData
> ---@param backButton? boolean
> exports["zyke_propaligner"]:ConfigureAlignments(data, backButton)
> ```

### Set Alignment Data

> If you have pre-defined data you want to insert, use this. In here you can also enable a back button, to void confusion when loading & then returning safely.\
> \
> **Example:**
>
> ```lua
> ---@param data AlignmentData
> ---@param backButton? boolean | "prev" @If "prev", use the previous setting
> exports["zyke_propaligner"]:SetAlignmentData(bones)
> ```

### Set Bones

> Sets the available bones in the select menu. This is mainly meant to filter out tons of uncommon bones.\
> \
> Is using `"default"`, it will reset the bones to our base config in `shared/bones.lua`.\
> Id & idx are bone values.\
> \
> **Example:**
>
> ```lua
> ---@param bones {name: string, id: integer, idx: integer}[] | "default" 
> exports["zyke_propaligner"]:SetBones(bones)
> ```
