# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: service_steamnotification.proto
# plugin: python-betterproto
# Last updated 05/11/2022

from dataclasses import dataclass

import betterproto

from .msg import UnifiedMessage


class GetPreferencesRequest(UnifiedMessage, um_name="SteamNotification.GetPreferences"):
    pass


class GetPreferencesResponse(UnifiedMessage, um_name="SteamNotification.GetPreferences"):
    preferences: "list[SteamNotificationPreference]" = betterproto.message_field(1)


class GetSteamNotificationsRequest(UnifiedMessage, um_name="SteamNotification.GetSteamNotifications"):
    include_hidden: bool = betterproto.bool_field(1)


class GetSteamNotificationsResponse(UnifiedMessage, um_name="SteamNotification.GetSteamNotifications"):
    notifications: "list[SteamNotificationData]" = betterproto.message_field(1)
    confirmation_count: int = betterproto.int32_field(2)


class HideNotificationNotification(UnifiedMessage, um_name="SteamNotification.HideNotification"):
    notification_ids: list[int] = betterproto.uint64_field(1)


class MarkNotificationsReadNotification(UnifiedMessage, um_name="SteamNotification.MarkNotificationsRead"):
    timestamp: int = betterproto.uint32_field(1)
    notification_type: int = betterproto.int32_field(2)
    notification_ids: list[int] = betterproto.uint64_field(3)
    mark_all_read: bool = betterproto.bool_field(4)


class SetPreferencesRequest(UnifiedMessage, um_name="SteamNotification.SetPreferences"):
    preferences: "list[SteamNotificationPreference]" = betterproto.message_field(1)


class SetPreferencesResponse(UnifiedMessage, um_name="SteamNotification.SetPreferences"):
    pass


@dataclass(eq=False, repr=False)
class SteamNotificationData(betterproto.Message):
    notification_id: int = betterproto.uint64_field(1)
    notification_targets: int = betterproto.uint32_field(2)
    notification_type: int = betterproto.int32_field(3)
    body_data: str = betterproto.string_field(4)
    read: bool = betterproto.bool_field(7)
    timestamp: int = betterproto.uint32_field(8)
    hidden: bool = betterproto.bool_field(9)


@dataclass(eq=False, repr=False)
class SteamNotificationPreference(betterproto.Message):
    notification_type: int = betterproto.int32_field(1)
    notification_targets: int = betterproto.uint32_field(2)
