# Stubs for graphviz.dot (Python 3.5)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from . import files
from typing import Any, Optional

class Dot(files.File):
    name: Any = ...
    comment: Any = ...
    graph_attr: Any = ...
    node_attr: Any = ...
    edge_attr: Any = ...
    body: Any = ...
    strict: Any = ...
    def __init__(self, name: Optional[Any] = ..., comment: Optional[Any] = ..., filename: Optional[Any] = ..., directory: Optional[Any] = ..., format: Optional[Any] = ..., engine: Optional[Any] = ..., encoding: Any = ..., graph_attr: Optional[Any] = ..., node_attr: Optional[Any] = ..., edge_attr: Optional[Any] = ..., body: Optional[Any] = ..., strict: bool = ...) -> None: ...
    def clear(self, keep_attrs: bool = ...): ...
    def __iter__(self, subgraph: bool = ...): ...
    source: Any = ...
    def node(self, name, label: Optional[Any] = ..., _attributes: Optional[Any] = ..., **attrs): ...
    def edge(self, tail_name, head_name, label: Optional[Any] = ..., _attributes: Optional[Any] = ..., **attrs): ...
    def edges(self, tail_head_iter): ...
    def attr(self, kw: Optional[Any] = ..., _attributes: Optional[Any] = ..., **attrs): ...
    def subgraph(self, graph: Optional[Any] = ..., name: Optional[Any] = ..., comment: Optional[Any] = ..., graph_attr: Optional[Any] = ..., node_attr: Optional[Any] = ..., edge_attr: Optional[Any] = ..., body: Optional[Any] = ...): ...

class SubgraphContext:
    parent: Any = ...
    graph: Any = ...
    def __init__(self, parent, kwargs) -> None: ...
    def __enter__(self): ...
    def __exit__(self, type_, value, traceback): ...

class Graph(Dot):
    @property
    def directed(self): ...

class Digraph(Dot):
    @property
    def directed(self): ...
