"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright 2022 The ChromiumOS Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class NotificationsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NOTIFICATIONS_FIELD_NUMBER: builtins.int
    @property
    def notifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Notification]: ...
    def __init__(
        self,
        *,
        notifications: collections.abc.Iterable[global___Notification] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["notifications", b"notifications"]) -> None: ...

global___NotificationsResponse = NotificationsResponse

@typing.final
class WaitForNotificationRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PREDICATES_FIELD_NUMBER: builtins.int
    TIMEOUT_SECS_FIELD_NUMBER: builtins.int
    timeout_secs: builtins.int
    """Defaults to 1 minute."""
    @property
    def predicates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___WaitPredicate]:
        """Predicates contain a list of conditions for querying notifications."""

    def __init__(
        self,
        *,
        predicates: collections.abc.Iterable[global___WaitPredicate] | None = ...,
        timeout_secs: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["predicates", b"predicates", "timeout_secs", b"timeout_secs"]) -> None: ...

global___WaitForNotificationRequest = WaitForNotificationRequest

@typing.final
class WaitForNotificationResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NOTIFICATION_FIELD_NUMBER: builtins.int
    @property
    def notification(self) -> global___Notification: ...
    def __init__(
        self,
        *,
        notification: global___Notification | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["notification", b"notification"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["notification", b"notification"]) -> None: ...

global___WaitForNotificationResponse = WaitForNotificationResponse

@typing.final
class WaitUntilNotificationGoneRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PREDICATES_FIELD_NUMBER: builtins.int
    TIMEOUT_SECS_FIELD_NUMBER: builtins.int
    timeout_secs: builtins.int
    """Defaults to 1 minute."""
    @property
    def predicates(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___WaitPredicate]:
        """Predicates contain the conditions for querying notifications."""

    def __init__(
        self,
        *,
        predicates: collections.abc.Iterable[global___WaitPredicate] | None = ...,
        timeout_secs: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["predicates", b"predicates", "timeout_secs", b"timeout_secs"]) -> None: ...

global___WaitUntilNotificationGoneRequest = WaitUntilNotificationGoneRequest

@typing.final
class Notification(google.protobuf.message.Message):
    """Notification corresponds to user notifications in the system tray."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    PRIORITY_FIELD_NUMBER: builtins.int
    PROGRESS_FIELD_NUMBER: builtins.int
    id: builtins.str
    type: builtins.str
    title: builtins.str
    message: builtins.str
    priority: builtins.int
    progress: builtins.int
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        type: builtins.str = ...,
        title: builtins.str = ...,
        message: builtins.str = ...,
        priority: builtins.int = ...,
        progress: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["id", b"id", "message", b"message", "priority", b"priority", "progress", b"progress", "title", b"title", "type", b"type"]) -> None: ...

global___Notification = Notification

@typing.final
class WaitPredicate(google.protobuf.message.Message):
    """WaitPredicate contains a condition for querying notifications."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_CONTAINS_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    TITLE_CONTAINS_FIELD_NUMBER: builtins.int
    TITLE_DOES_NOT_CONTAIN_FIELD_NUMBER: builtins.int
    MESSAGE_CONTAINS_FIELD_NUMBER: builtins.int
    id_contains: builtins.str
    """IdContains checks if notification ID contains the value."""
    title: builtins.str
    """Title checks if notification title matches the value."""
    title_contains: builtins.str
    """TitleContains checks if notification title contains the value."""
    title_does_not_contain: builtins.str
    """TitleDoesNotContain checks if notification title does not contain the
    value.
    """
    message_contains: builtins.str
    """MessageContains checks if notification message contains the value."""
    def __init__(
        self,
        *,
        id_contains: builtins.str = ...,
        title: builtins.str = ...,
        title_contains: builtins.str = ...,
        title_does_not_contain: builtins.str = ...,
        message_contains: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["id_contains", b"id_contains", "message_contains", b"message_contains", "title", b"title", "title_contains", b"title_contains", "title_does_not_contain", b"title_does_not_contain", "value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["id_contains", b"id_contains", "message_contains", b"message_contains", "title", b"title", "title_contains", b"title_contains", "title_does_not_contain", b"title_does_not_contain", "value", b"value"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["id_contains", "title", "title_contains", "title_does_not_contain", "message_contains"] | None: ...

global___WaitPredicate = WaitPredicate
