# Path: google/cloud/errorreporting_v1beta1/types/common.py
# class ResolutionStatus(proto.Enum):
# class ErrorGroup(proto.Message):
# class TrackingIssue(proto.Message):
# class ErrorEvent(proto.Message):
# class ServiceContext(proto.Message):
# class ErrorContext(proto.Message):
# class HttpRequestContext(proto.Message):
# class SourceLocation(proto.Message):
#     RESOLUTION_STATUS_UNSPECIFIED = 0
#     OPEN = 1
#     ACKNOWLEDGED = 2
#     RESOLVED = 3
#     MUTED = 4
# 
# Path: google/cloud/errorreporting_v1beta1/types/error_stats_service.py
# class TimedCountAlignment(proto.Enum):
# class ErrorGroupOrder(proto.Enum):
# class ListGroupStatsRequest(proto.Message):
# class ListGroupStatsResponse(proto.Message):
# class ErrorGroupStats(proto.Message):
# class TimedCount(proto.Message):
# class ListEventsRequest(proto.Message):
# class ListEventsResponse(proto.Message):
# class QueryTimeRange(proto.Message):
#     class Period(proto.Enum):
# class ServiceContextFilter(proto.Message):
# class DeleteEventsRequest(proto.Message):
# class DeleteEventsResponse(proto.Message):
#     ERROR_COUNT_ALIGNMENT_UNSPECIFIED = 0
#     ALIGNMENT_EQUAL_ROUNDED = 1
#     ALIGNMENT_EQUAL_AT_END = 2
#     GROUP_ORDER_UNSPECIFIED = 0
#     COUNT_DESC = 1
#     LAST_SEEN_DESC = 2
#     CREATED_DESC = 3
#     AFFECTED_USERS_DESC = 4
#         PERIOD_UNSPECIFIED = 0
#         PERIOD_1_HOUR = 1
#         PERIOD_6_HOURS = 2
#         PERIOD_1_DAY = 3
#         PERIOD_1_WEEK = 4
#         PERIOD_30_DAYS = 5
#     def raw_page(self):
#     def raw_page(self):


from typing import (
    Any,
    AsyncIterator,
    Awaitable,
    Callable,
    Sequence,
    Tuple,
    Optional,
    Iterator,
)
from google.cloud.errorreporting_v1beta1.types import common
from google.cloud.errorreporting_v1beta1.types import error_stats_service
            async for page in self.pages:
                for response in page.error_group_stats:
                    yield response

        return async_generator()

    def __repr__(self) -> str:
        return "{0}<{1!r}>".format(self.__class__.__name__, self._response)


class ListEventsPager:
    """A pager for iterating through ``list_events`` requests.

    This class thinly wraps an initial
    :class:`google.cloud.errorreporting_v1beta1.types.ListEventsResponse` object, and
    provides an ``__iter__`` method to iterate through its
    ``error_events`` field.

    If there are more pages, the ``__iter__`` method will make additional
    ``ListEvents`` requests and continue to iterate
    through the ``error_events`` field on the
    corresponding responses.

    All the usual :class:`google.cloud.errorreporting_v1beta1.types.ListEventsResponse`
    attributes are available on the pager. If multiple requests are made, only
    the most recent response is retained, and thus used for attribute lookup.
    """

    def __init__(
        self,

# Path: google/cloud/errorreporting_v1beta1/types/common.py
# class ResolutionStatus(proto.Enum):
# class ErrorGroup(proto.Message):
# class TrackingIssue(proto.Message):
# class ErrorEvent(proto.Message):
# class ServiceContext(proto.Message):
# class ErrorContext(proto.Message):
# class HttpRequestContext(proto.Message):
# class SourceLocation(proto.Message):
#     RESOLUTION_STATUS_UNSPECIFIED = 0
#     OPEN = 1
#     ACKNOWLEDGED = 2
#     RESOLVED = 3
#     MUTED = 4
# 
# Path: google/cloud/errorreporting_v1beta1/types/error_stats_service.py
# class TimedCountAlignment(proto.Enum):
# class ErrorGroupOrder(proto.Enum):
# class ListGroupStatsRequest(proto.Message):
# class ListGroupStatsResponse(proto.Message):
# class ErrorGroupStats(proto.Message):
# class TimedCount(proto.Message):
# class ListEventsRequest(proto.Message):
# class ListEventsResponse(proto.Message):
# class QueryTimeRange(proto.Message):
#     class Period(proto.Enum):
# class ServiceContextFilter(proto.Message):
# class DeleteEventsRequest(proto.Message):
# class DeleteEventsResponse(proto.Message):
#     ERROR_COUNT_ALIGNMENT_UNSPECIFIED = 0
#     ALIGNMENT_EQUAL_ROUNDED = 1
#     ALIGNMENT_EQUAL_AT_END = 2
#     GROUP_ORDER_UNSPECIFIED = 0
#     COUNT_DESC = 1
#     LAST_SEEN_DESC = 2
#     CREATED_DESC = 3
#     AFFECTED_USERS_DESC = 4
#         PERIOD_UNSPECIFIED = 0
#         PERIOD_1_HOUR = 1
#         PERIOD_6_HOURS = 2
#         PERIOD_1_DAY = 3
#         PERIOD_1_WEEK = 4
#         PERIOD_30_DAYS = 5
#     def raw_page(self):
#     def raw_page(self):


# Path: google/cloud/errorreporting_v1beta1/services/error_stats_service/pagers.py
from typing import (
    Any,
    AsyncIterator,
    Awaitable,
    Callable,
    Sequence,
    Tuple,
    Optional,
    Iterator,
)
from google.cloud.errorreporting_v1beta1.types import common
from google.cloud.errorreporting_v1beta1.types import error_stats_service

            async for page in self.pages:
                for response in page.error_group_stats:
                    yield response

        return async_generator()

    def __repr__(self) -> str:
        return "{0}<{1!r}>".format(self.__class__.__name__, self._response)


class ListEventsPager:
    """A pager for iterating through ``list_events`` requests.

    This class thinly wraps an initial
    :class:`google.cloud.errorreporting_v1beta1.types.ListEventsResponse` object, and
    provides an ``__iter__`` method to iterate through its
    ``error_events`` field.

    If there are more pages, the ``__iter__`` method will make additional
    ``ListEvents`` requests and continue to iterate
    through the ``error_events`` field on the
    corresponding responses.

    All the usual :class:`google.cloud.errorreporting_v1beta1.types.ListEventsResponse`
    attributes are available on the pager. If multiple requests are made, only
    the most recent response is retained, and thus used for attribute lookup.
    """

    def __init__(
        self,

        method: Callable[..., error_stats_service.ListEventsResponse],