"""
This type stub file was generated by pyright.
"""

from collections.abc import MutableMapping

"""Views of DGLGraph."""
NodeSpace = ...
EdgeSpace = ...
class NodeView:
    """A NodeView class to act as G.nodes for a DGLGraph.

    Can be used to get a list of current nodes and get and set node data.

    See Also
    --------
    dgl.DGLGraph.nodes
    """
    __slots__ = ...
    def __init__(self, graph) -> None:
        ...
    
    def __len__(self):
        ...
    
    def __getitem__(self, nodes): # -> NodeSpace:
        ...
    
    def __call__(self):
        """Return the nodes."""
        ...
    


class NodeDataView(MutableMapping):
    """The data view class when G.nodes[...].data is called.

    See Also
    --------
    dgl.DGLGraph.nodes
    """
    __slots__ = ...
    def __init__(self, graph, nodes) -> None:
        ...
    
    def __getitem__(self, key):
        ...
    
    def __setitem__(self, key, val): # -> None:
        ...
    
    def __delitem__(self, key): # -> None:
        ...
    
    def __len__(self): # -> int:
        ...
    
    def __iter__(self): # -> Iterator[Unknown]:
        ...
    
    def __repr__(self): # -> str:
        ...
    


class EdgeView:
    """A EdgeView class to act as G.edges for a DGLGraph.

    Can be used to get a list of current edges and get and set edge data.

    See Also
    --------
    dgl.DGLGraph.edges
    """
    __slots__ = ...
    def __init__(self, graph) -> None:
        ...
    
    def __len__(self):
        ...
    
    def __getitem__(self, edges): # -> EdgeSpace:
        ...
    
    def __call__(self, *args, **kwargs):
        """Return all the edges."""
        ...
    


class EdgeDataView(MutableMapping):
    """The data view class when G.edges[...].data is called.

    See Also
    --------
    dgl.DGLGraph.edges
    """
    __slots__ = ...
    def __init__(self, graph, edges) -> None:
        ...
    
    def __getitem__(self, key):
        ...
    
    def __setitem__(self, key, val): # -> None:
        ...
    
    def __delitem__(self, key): # -> None:
        ...
    
    def __len__(self): # -> int:
        ...
    
    def __iter__(self): # -> Iterator[Unknown]:
        ...
    
    def __repr__(self): # -> str:
        ...
    


class LayerView:
    """A LayerView class to act as nflow.layers for a NodeFlow.

    Can be used to get a list of current nodes and get and set node data.
    """
    __slots__ = ...
    def __init__(self, graph) -> None:
        ...
    
    def __len__(self):
        ...
    
    def __getitem__(self, layer): # -> NodeSpace:
        ...
    
    def __call__(self):
        """Return the nodes."""
        ...
    


class LayerDataView(MutableMapping):
    """The data view class when G.layers[...].data is called.
    """
    __slots__ = ...
    def __init__(self, graph, layer) -> None:
        ...
    
    def __getitem__(self, key):
        ...
    
    def __setitem__(self, key, val): # -> None:
        ...
    
    def __delitem__(self, key): # -> None:
        ...
    
    def __len__(self): # -> int:
        ...
    
    def __iter__(self): # -> Iterator[Unknown]:
        ...
    
    def __repr__(self): # -> str:
        ...
    


class BlockView:
    """A BlockView class to act as nflow.blocks for a NodeFlow.

    Can be used to get a list of current edges and get and set edge data.
    """
    __slots__ = ...
    def __init__(self, graph) -> None:
        ...
    
    def __len__(self):
        ...
    
    def __getitem__(self, flow): # -> EdgeSpace:
        ...
    
    def __call__(self, *args, **kwargs):
        """Return all the edges."""
        ...
    


class BlockDataView(MutableMapping):
    """The data view class when G.blocks[...].data is called.
    """
    __slots__ = ...
    def __init__(self, graph, flow) -> None:
        ...
    
    def __getitem__(self, key):
        ...
    
    def __setitem__(self, key, val): # -> None:
        ...
    
    def __delitem__(self, key): # -> None:
        ...
    
    def __len__(self): # -> int:
        ...
    
    def __iter__(self): # -> Iterator[Unknown]:
        ...
    
    def __repr__(self): # -> str:
        ...
    


