/***************************************************************************
 *                                                                          *
 *  Copyright (C) Golaem S.A.  All Rights Reserved.                         *
 *                                                                          *
 ***************************************************************************/

#pragma once

namespace glm
{
    // specific versions declarations
    class GolaemCharacterV24;
    typedef GolaemCharacterV24 GolaemCharacter;

    class GenericSpecificConverterMappingV8;
    typedef GenericSpecificConverterMappingV8 GenericSpecificConverterMapping;

    struct RollAttributesV0;
    typedef RollAttributesV0 RollAttributes;

    struct GenericSpecificConverterBoneV1;
    typedef GenericSpecificConverterBoneV1 GenericSpecificConverterBone;

    class BonePhysicConfigurationV1;
    typedef BonePhysicConfigurationV1 BonePhysicConfiguration;

    class HierarchicalBoneV1;
    typedef HierarchicalBoneV1 HierarchicalBone;

    class RenderInfoV0;
    typedef RenderInfoV0 RenderInfo;

    class AssetAssociationsV0;
    typedef AssetAssociationsV0 AssetAssociations;

    class GeometryAssetV4;
    typedef GeometryAssetV4 GeometryAsset;

    class ShaderAttributeV3;
    typedef ShaderAttributeV3 ShaderAttribute;

    class ShaderAssetV2;
    typedef ShaderAssetV2 ShaderAsset;

    class ShadingGroupV1;
    typedef ShadingGroupV1 ShadingGroup;

    class ClothAssetV0;
    typedef ClothAssetV0 ClothAsset;

    class FurAssetV0;
    typedef FurAssetV0 FurAsset;

    class MeshAssetV8;
    typedef MeshAssetV8 MeshAsset;

    class AssetUnitV3;
    typedef AssetUnitV3 AssetUnit;

    class AssetGroupV4;
    typedef AssetGroupV4 AssetGroup;

    struct WeightOverrideV1;
    typedef WeightOverrideV1 WeightOverride;

    class RenderingTypeV4;
    typedef RenderingTypeV4 RenderingType;

    struct BlindDataV1;
    typedef BlindDataV1 BlindData;

    struct SkeletonOverrideV0;
    typedef SkeletonOverrideV0 SkeletonOverride;

    struct BlindDataOverrideV0;
    typedef BlindDataOverrideV0 BlindDataOverride;

    struct PhysicsOverrideV0;
    typedef PhysicsOverrideV0 PhysicsOverride;

    class CharacterUserDataV0;
    typedef CharacterUserDataV0 CharacterUserData;

    class HierarchicalSkeletonDescriptionV1;
    typedef HierarchicalSkeletonDescriptionV1 HierarchicalSkeletonDescription;

    class BoneDisplayConfigurationV0;
    typedef BoneDisplayConfigurationV0 BoneDisplayConfiguration;

    class DeepDeformerAssetV0;
    typedef DeepDeformerAssetV0 DeepDeformerAsset;
} // namespace glm
