#pragma once

#include <cstdint>
#include <string>

#include "core/device_discovery.h"

namespace aptt {

bool IsAsioSdkEnabled();
std::uint32_t CurrentProcessBitness();
std::string AsioRegistryViewForProcess();
std::string AsioStableIdFromClsid(const std::string& clsid);

DeviceCapabilitySnapshot MakeAsioDriverSnapshot(
    std::string registry_name,
    std::string clsid,
    std::string driver_path,
    std::string description);

DeviceCapabilitySnapshot MakeAsioDisabledSnapshot();
DiscoverySnapshot EnumerateAsioDrivers();

}  // namespace aptt
