from __future__ import annotations
from typing import Any, Protocol, runtime_checkable

@runtime_checkable
class XGridRowSelection(Protocol):
    def selectAllRows(self) -> None: ...
    def deselectAllRows(self) -> None: ...
    def getSelectedRows(self) -> list[int]: ...
    def hasSelectedRows(self) -> bool: ...
    def isRowSelected(self, RowIndex: int) -> bool: ...
    def addSelectionListener(self, listener: XGridSelectionListener) -> None: ...
    def removeSelectionListener(self, listener: XGridSelectionListener) -> None: ...
