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

from typing import Generic, Self, TYPE_CHECKING, TypeVar
from tree_sitter import Node as TSNode
from graph_sitter.codebase.codebase_graph import CodebaseGraph
from graph_sitter.core.node_id_factory import NodeId
from graph_sitter.core.statements.statement import Statement
from graph_sitter.core.symbol_groups.collection import Collection
from graph_sitter.writer_decorators import apidoc
from graph_sitter.core.detached_symbols.code_block import CodeBlock
from graph_sitter.core.file import SourceFile
from graph_sitter.core.import_resolution import Import

if TYPE_CHECKING:
    ...
TSourceFile = TypeVar("TSourceFile", bound="SourceFile")
TImport = TypeVar("TImport", bound="Import")
TCodeBlock = TypeVar("TCodeBlock", bound="CodeBlock")
@apidoc
class ImportStatement(Statement[TCodeBlock], Generic[TSourceFile, TImport, TCodeBlock]):
    """Abstract representation of a single import statement that appears in a file. One import
    statement can import multiple symbols from a single source.

    Attributes:
        imports: A collection of the individual imports this statement represents
    """
    imports: Collection[TImport, Self]
    def __init__(self, ts_node: TSNode, file_node_id: NodeId, G: CodebaseGraph, parent: TCodeBlock, pos: int) -> None:
        ...
    


