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

from dataclasses import dataclass
from functools import cached_property
from typing import TYPE_CHECKING
from graph_sitter.core.class_definition import Class
from graph_sitter.core.detached_symbols.code_block import CodeBlock
from graph_sitter.core.detached_symbols.function_call import FunctionCall
from graph_sitter.core.detached_symbols.parameter import Parameter
from graph_sitter.core.expressions import Expression
from graph_sitter.core.expressions.type import Type
from graph_sitter.core.file import SourceFile
from graph_sitter.core.function import Function
from graph_sitter.core.import_resolution import Import
from graph_sitter.core.statements.comment import Comment
from graph_sitter.core.symbol import Symbol

if TYPE_CHECKING:
    ...
@dataclass
class NodeClasses:
    file_cls: type[SourceFile]
    class_cls: type[Class]
    function_cls: type[Function]
    import_cls: type[Import]
    parameter_cls: type[Parameter]
    code_block_cls: type[CodeBlock]
    function_call_cls: type[FunctionCall]
    comment_cls: type[Comment]
    bool_conversion: dict[bool, str]
    symbol_map: dict[str, type[Symbol]] = ...
    expression_map: dict[str, type[Expression]] = ...
    type_map: dict[str, type[Type] | dict[str, type[Type]]] = ...
    keywords: list[str] = ...
    type_node_type: str = ...
    int_dict_key: bool = ...
    @cached_property
    def resolvables(self) -> set[str]:
        ...
    


