1use serde::{Deserialize, Serialize};
2
3#[derive(Deserialize, Serialize, Debug, Default)]
4pub struct RMPConfig {
5    pub class: String,
6    pub static_functions: Vec<RMPFunction>,
7    pub constructors: Option<Vec<RMPFunction>>,
8    pub destructor: Option<RMPFunction>,
9    pub methods: Option<Vec<RMPFunction>>,
10    pub properties: Option<Vec<RMPFunction>>,
11}
12
13#[derive(Deserialize, Serialize, Debug)]
14pub struct RMPFunction {
15    pub name: String,
16    pub rust_name: String,
17    pub args: Vec<RMPArg>,
18    pub return_type: String,
19    pub docs: Vec<String>,
20}
21
22#[derive(Deserialize, Serialize, Debug)]
23pub struct RMPArg {
24    pub name: String,
25    pub ty: String,
26}