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

from collections.abc import Iterator
from typing import Generic, TYPE_CHECKING, TypeVar
from tree_sitter import Node as TSNode
from graph_sitter.core.interfaces.editable import Editable
from graph_sitter.core.node_id_factory import NodeId
from graph_sitter.core.symbol_groups.collection import Collection
from graph_sitter.writer_decorators import apidoc
from graph_sitter.codebase.codebase_graph import CodebaseGraph

if TYPE_CHECKING:
    ...
Child = TypeVar("Child", bound=Editable)
Parent = TypeVar("Parent", bound="Editable")
@apidoc
class MultiLineCollection(Collection[Child, Parent], Generic[Child, Parent]):
    """A list containing multi-line objects.

    Example: A list of function definitions, class definitions
    You can use standard operations to operate on this list (IE len, del, append, insert, etc)
    """
    _inserts_max_size: dict[int, int]
    _leading_delimiter: str = ...
    _trailing_delimiter: str = ...
    def __init__(self, children: list[Child], file_node_id: NodeId, G: CodebaseGraph, parent: Parent, node: TSNode, indent_size: int, leading_delimiter: str = ..., trailing_delimiter: str = ..., start_byte: int | None = ..., end_byte: int | None = ...) -> None:
        ...
    
    def __iter__(self) -> Iterator[Child]:
        ...
    
    def __len__(self) -> int:
        ...
    


