"""
.. include:: ../README.md
"""

from maze_dataset.constants import (
    SPECIAL_TOKENS,
    VOCAB,
    VOCAB_LIST,
    VOCAB_TOKEN_TO_INDEX,
    Connection,
    ConnectionArray,
    ConnectionList,
    Coord,
    CoordArray,
    CoordList,
    CoordTup,
)
from maze_dataset.dataset.collected_dataset import (
    MazeDatasetCollection,
    MazeDatasetCollectionConfig,
)
from maze_dataset.dataset.maze_dataset import (
    MazeDataset,
    MazeDatasetConfig,
    set_serialize_minimal_threshold,
)
from maze_dataset.generation.generators import LatticeMazeGenerators
from maze_dataset.maze.lattice_maze import LatticeMaze, SolvedMaze, TargetedLatticeMaze

__all__ = [
    # submodules (with sub-submodules)
    "dataset",
    "generation",
    "maze",
    "plotting",
    "tokenization",
    # submodules
    "constants",
    "testing_utils",
    "token_utils",
    "utils",
    # main
    "SolvedMaze",
    "MazeDatasetConfig",
    "MazeDataset",
    # dataset classes
    "MazeDatasetCollection",
    "MazeDatasetCollectionConfig",
    # maze classes
    "TargetedLatticeMaze",
    "LatticeMaze",
    # other
    "set_serialize_minimal_threshold",
    "LatticeMazeGenerators",
    # types
    "Coord",
    "CoordTup",
    "CoordList",
    "CoordArray",
    "Connection",
    "ConnectionList",
    "ConnectionArray",
    # constants
    "SPECIAL_TOKENS",
    "VOCAB",
    "VOCAB_LIST",
    "VOCAB_TOKEN_TO_INDEX",
]
