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

from typing import Generic, TYPE_CHECKING, TypeVar
from tree_sitter import Node as TSNode
from graph_sitter.core.expressions.type import Type
from graph_sitter.core.node_id_factory import NodeId
from graph_sitter.typescript.symbol_groups.dict import TSDict, TSPair
from graph_sitter.writer_decorators import ts_apidoc
from graph_sitter.codebase.codebase_graph import CodebaseGraph

if TYPE_CHECKING:
    ...
logger = ...
Parent = TypeVar("Parent")
class TSObjectPair(TSPair, Generic[Parent]):
    """Object type

    Examples:
        a: {a: int; b?(a: int): c}
    """
    ...


Parent = TypeVar("Parent")
@ts_apidoc
class TSObjectType(TSDict, Type[Parent], Generic[Parent]):
    """A class representing a TypeScript object type with type annotations and dependencies.

    A specialized class extending `TSDict` and implementing `Type` for handling TypeScript object type annotations.
    This class handles object type definitions including nested type structures and manages their dependencies.
    It provides functionality for computing dependencies within the type structure and handling type relationships
    in TypeScript code.
    """
    def __init__(self, ts_node: TSNode, file_node_id: NodeId, G: CodebaseGraph, parent: Parent) -> None:
        ...
    


