#ifndef ARC_ENGINE_ECS_H_
#define ARC_ENGINE_ECS_H_

#ifdef __cplusplus
extern "C" {
#endif

#include "arc/std/vector.h"
#include <stdint.h>

/**
 * @brief a type that keeps permanice of data for when loading and unloading config files
 */
typedef struct ARC_ECS ARC_ECS;

/**
 * @brief entity type for ARC_ECS
*/
typedef uint64_t ARC_ECSEntity;

/**
 * @brief creates ARC_Config type
 *
 * @param ecs ARC_ECS 
 */
void ARC_ECS_Create(ARC_ECS **ecs);

/**
 * @brief destroys ARC_ECS type
 */
void ARC_ECS_Destroy(ARC_ECS *ecs);

#ifdef __cplusplus
}
#endif

#endif //ARC_ENGINE_ECS_H_