namespace MAGES::Recorder

namespace Recorder {

// namespaces

namespace MAGES::Recorder::AnalyticsCapture;
namespace MAGES::Recorder::Dissonance;
namespace MAGES::Recorder::Editor;
    namespace MAGES::Recorder::Editor::Tests;
namespace MAGES::Recorder::Tests;

// enums

enum CompressionMethod;
enum PacketType;

// structs

struct PacketHeader;

// interfaces

interface ICaptor;
interface ICapturedEvent;
interface ICodec;
interface IDecoder;
interface IEncoder;
interface IInterpreter;

// classes

class AnalyticsEvent;
class AudioCapture;
class AudioFilterReadBroadcaster;
class ClientChangeInterpreter;
class ClientEnterEvent;
class ClientExitEvent;
class Cloud;
class Container;

template 
class ContinuousPlaybackObject;

class EndPacket;
class EventPacket;
class GameObjectPathCache;
class GameObjectSpawnEvent;
class GameObjectSpawnerCaptor;
class GameObjectSpawnerInterpreter;
class HttpClientProgressExtensions;
class InterpretsEventAttribute;

template 
class IntervalTree;

class MicrophoneCaptor;
class MicrophoneEvent;
class MicrophoneInterpreter;
class PCM;
class Packet;
class Player;
class PlayerSelectionUI;
class PlayerUI;
class PointerCaptor;
class PointerClickEvent;
class PointerEnterExitEvent;
class PointerInterpreter;
class PositionChangeEvent;
class PreservationToken;
class Recorder;
class RecorderModule;
class RigCaptor;
class RotationChangeEvent;
class SceneGraphCaptor;
class SceneGraphEvent;
class SceneGraphInterpreter;
class StandardTypesSerializationSurrogates;
class StartPacket;
class TransformCaptor;
class TransformCaptureGroup;
class TransformationInterpreter;
class Utilities;
class WaveCodec;
class WaveDecoder;
class WaveEncoder;
class ZipExtensions;
class ZipProgress;

} // namespace Recorder