//
// Created by marcel on 04.09.24.
//

#pragma once

#include "aigverse/types.hpp"

#include <string>

namespace pybind11
{
class module_;
}

namespace aigverse
{

namespace detail
{

template <typename Ntk>
void bind_network(pybind11::module_& m, const std::string& network_name);

extern template void bind_network<aigverse::aig>(pybind11::module_& m, const std::string& network_name);
// extern template void network<aigverse::mig>(pybind11::module_& m, const std::string& network_name);
// extern template void network<aigverse::xag>(pybind11::module_& m, const std::string& network_name);

}  // namespace detail

// Registers logic network bindings
void bind_logic_networks(pybind11::module_& m);

}  // namespace aigverse
