from typing import Any, Iterator, List

from com.inductiveautomation.ignition.common import Dataset
from com.inductiveautomation.ignition.common.alarming import AlarmEvent, PyAlarmEvent
from dev.thecesrom.helper.types import AnyStr

class AlarmQueryResult:
    def getAssociatedDate(self, uuid: AnyStr) -> Dataset: ...
    def getDataSet(self) -> Dataset: ...
    def getEvent(self, uuid: AnyStr) -> AlarmEvent: ...

class AlarmQueryResultImpl(AlarmQueryResult):
    def __init__(self, *args: Any) -> None: ...
    def __iter__(self) -> Iterator[PyAlarmEvent]: ...
    @staticmethod
    def buildFrom(results: List[AlarmQueryResult]) -> AlarmQueryResult: ...
    def getAssociatedDate(self, uuid: AnyStr) -> Dataset: ...
    def getDataSet(self) -> Dataset: ...
    def getEvent(self, uuid: AnyStr) -> AlarmEvent: ...
