"""Bindings for aigverse."""

from __future__ import annotations

from ._version import version as __version__
from .pyaigverse import (
    Aig,
    AigEdge,
    AigEdgeList,
    AigIndexList,
    AigNode,
    AigRegister,
    AigSignal,
    DepthAig,
    FanoutAig,
    SequentialAig,
    TruthTable,
    aig_cut_rewriting,
    aig_resubstitution,
    cofactor0,
    cofactor1,
    equivalence_checking,
    read_aiger_into_aig,
    read_aiger_into_sequential_aig,
    read_ascii_aiger_into_aig,
    read_ascii_aiger_into_sequential_aig,
    read_pla_into_aig,
    read_verilog_into_aig,
    simulate,
    simulate_nodes,
    sop_refactoring,
    ternary_majority,
    to_aig,
    to_edge_list,
    to_index_list,
    write_aiger,
    write_dot,
    write_verilog,
)

__all__ = [
    "Aig",
    "AigEdge",
    "AigEdgeList",
    "AigIndexList",
    "AigNode",
    "AigRegister",
    "AigSignal",
    "DepthAig",
    "FanoutAig",
    "SequentialAig",
    "TruthTable",
    "__version__",
    "aig_cut_rewriting",
    "aig_resubstitution",
    "cofactor0",
    "cofactor1",
    "equivalence_checking",
    "read_aiger_into_aig",
    "read_aiger_into_sequential_aig",
    "read_ascii_aiger_into_aig",
    "read_ascii_aiger_into_sequential_aig",
    "read_pla_into_aig",
    "read_verilog_into_aig",
    "simulate",
    "simulate_nodes",
    "sop_refactoring",
    "ternary_majority",
    "to_aig",
    "to_edge_list",
    "to_index_list",
    "write_aiger",
    "write_dot",
    "write_verilog",
]
