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

from typing import Generic, TypeVar
from graph_sitter.core.detached_symbols.function_call import FunctionCall
from graph_sitter.core.expressions import Expression
from graph_sitter.core.symbol_group import SymbolGroup
from graph_sitter.extensions.autocommit import reader
from graph_sitter.writer_decorators import apidoc

Parent = TypeVar("Parent")
TExpression = TypeVar("TExpression", bound="Expression")
Parent = TypeVar("Parent")
@apidoc
class ExpressionGroup(SymbolGroup[TExpression, Parent], Generic[TExpression, Parent]):
    """Group of contiguous set of expressions."""
    @property
    @reader
    def expressions(self) -> list[TExpression]:
        """Returns all expressions in the group.

        A property that returns all expressions stored in the ExpressionGroup as a list.

        Returns:
            list[TExpression]: A list of expressions contained in the group, where TExpression is a type variable bound to Expression.
        """
        ...
    
    @property
    @reader
    def source(self) -> str:
        """Returns the source code of the symbol group.

        Args:
            None

        Returns:
            str: The source code string for the symbol group, including all symbols within the group.
        """
        ...
    
    @property
    @reader
    def function_calls(self) -> list[FunctionCall]:
        """Returns all function calls within the expression group.

        Retrieves all function calls from the expressions in this group, sets their
        parent as this group, and returns them.

        Returns:
            list[FunctionCall]: A list of all function calls found in the expressions
            of this group.
        """
        ...
    


