# Stubs for networkx.classes.digraph (Python 3.5)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from networkx.classes.graph import Graph
from typing import Any, Optional

class DiGraph(Graph):
    node_dict_factory: Any = ...
    adjlist_outer_dict_factory: Any = ...
    adjlist_inner_dict_factory: Any = ...
    edge_attr_dict_factory: Any = ...
    root_graph: Any = ...
    graph: Any = ...
    def __init__(self, incoming_graph_data: Optional[Any] = ..., **attr) -> None: ...
    @property
    def adj(self): ...
    @property
    def succ(self): ...
    @property
    def pred(self): ...
    def add_node(self, node_for_adding, **attr): ...
    def add_nodes_from(self, nodes_for_adding, **attr): ...
    def remove_node(self, n): ...
    def remove_nodes_from(self, nodes): ...
    def add_edge(self, u_of_edge, v_of_edge, **attr): ...
    def add_edges_from(self, ebunch_to_add, **attr): ...
    def remove_edge(self, u, v): ...
    def remove_edges_from(self, ebunch): ...
    def has_successor(self, u, v): ...
    def has_predecessor(self, u, v): ...
    def successors(self, n): ...
    neighbors: Any = ...
    def predecessors(self, n): ...
    @property
    def edges(self): ...
    out_edges: Any = ...
    @property
    def in_edges(self): ...
    @property
    def degree(self): ...
    @property
    def in_degree(self): ...
    @property
    def out_degree(self): ...
    def clear(self): ...
    def is_multigraph(self): ...
    def is_directed(self): ...
    def fresh_copy(self): ...
    def copy(self, as_view: bool = ...): ...
    def to_undirected(self, reciprocal: bool = ..., as_view: bool = ...): ...
    def subgraph(self, nodes): ...
    def reverse(self, copy: bool = ...): ...
