"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
This file contains the following services:

HomeControlService
  - GetAssistantRoutines

StructuresService
  - GetHomeGraph

HomeDevicesService
  - GetAssistantDeviceSettings
"""

from builtins import (
    bool,
    bytes,
    float,
    int,
    str,
)
from collections.abc import (
    Iterable,
)
from google.protobuf.descriptor import (
    Descriptor,
    FileDescriptor,
)
from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer,
    RepeatedScalarFieldContainer,
)
from google.protobuf.message import (
    Message,
)
from typing import (
    Literal,
    final,
)

DESCRIPTOR: FileDescriptor

@final
class GetAssistantRoutinesRequest(Message):
    DESCRIPTOR: Descriptor

    def __init__(
        self,
    ) -> None: ...

@final
class GetAssistantRoutinesResponse(Message):
    DESCRIPTOR: Descriptor

    @final
    class Part1(Message):
        DESCRIPTOR: Descriptor

        @final
        class WorkFlow(Message):
            DESCRIPTOR: Descriptor

            @final
            class WF_Sub1(Message):
                DESCRIPTOR: Descriptor

                @final
                class WF_Sub1_Sub1(Message):
                    DESCRIPTOR: Descriptor

                    @final
                    class Routine(Message):
                        DESCRIPTOR: Descriptor

                        ROUTINE_ID_FIELD_NUMBER: int
                        NUM2_FIELD_NUMBER: int
                        ROUTINE_NAME_FIELD_NUMBER: int
                        routine_id: str
                        num2: int
                        routine_name: str
                        def __init__(
                            self,
                            *,
                            routine_id: str = ...,
                            num2: int = ...,
                            routine_name: str = ...,
                        ) -> None: ...
                        def ClearField(self, field_name: Literal["num2", b"num2", "routine_id", b"routine_id", "routine_name", b"routine_name"]) -> None: ...

                    STRING1_FIELD_NUMBER: int
                    ROUTINE_FIELD_NUMBER: int
                    string1: str
                    @property
                    def routine(self) -> GetAssistantRoutinesResponse.Part1.WorkFlow.WF_Sub1.WF_Sub1_Sub1.Routine: ...
                    def __init__(
                        self,
                        *,
                        string1: str = ...,
                        routine: GetAssistantRoutinesResponse.Part1.WorkFlow.WF_Sub1.WF_Sub1_Sub1.Routine | None = ...,
                    ) -> None: ...
                    def HasField(self, field_name: Literal["routine", b"routine"]) -> bool: ...
                    def ClearField(self, field_name: Literal["routine", b"routine", "string1", b"string1"]) -> None: ...

                STRING1_FIELD_NUMBER: int
                WF_S1_S1_FIELD_NUMBER: int
                string1: str
                @property
                def wf_s1_s1(self) -> GetAssistantRoutinesResponse.Part1.WorkFlow.WF_Sub1.WF_Sub1_Sub1: ...
                def __init__(
                    self,
                    *,
                    string1: str = ...,
                    wf_s1_s1: GetAssistantRoutinesResponse.Part1.WorkFlow.WF_Sub1.WF_Sub1_Sub1 | None = ...,
                ) -> None: ...
                def HasField(self, field_name: Literal["wf_s1_s1", b"wf_s1_s1"]) -> bool: ...
                def ClearField(self, field_name: Literal["string1", b"string1", "wf_s1_s1", b"wf_s1_s1"]) -> None: ...

            TYPE_FIELD_NUMBER: int
            WF_S1_FIELD_NUMBER: int
            type: str
            @property
            def wf_s1(self) -> GetAssistantRoutinesResponse.Part1.WorkFlow.WF_Sub1: ...
            def __init__(
                self,
                *,
                type: str = ...,
                wf_s1: GetAssistantRoutinesResponse.Part1.WorkFlow.WF_Sub1 | None = ...,
            ) -> None: ...
            def HasField(self, field_name: Literal["wf_s1", b"wf_s1"]) -> bool: ...
            def ClearField(self, field_name: Literal["type", b"type", "wf_s1", b"wf_s1"]) -> None: ...

        ROUTINE_NAME_FIELD_NUMBER: int
        WORKFLOW_FIELD_NUMBER: int
        STRING4_FIELD_NUMBER: int
        STRING5_FIELD_NUMBER: int
        routine_name: str
        string4: str
        string5: str
        @property
        def workflow(self) -> GetAssistantRoutinesResponse.Part1.WorkFlow: ...
        def __init__(
            self,
            *,
            routine_name: str = ...,
            workflow: GetAssistantRoutinesResponse.Part1.WorkFlow | None = ...,
            string4: str = ...,
            string5: str = ...,
        ) -> None: ...
        def HasField(self, field_name: Literal["workflow", b"workflow"]) -> bool: ...
        def ClearField(self, field_name: Literal["routine_name", b"routine_name", "string4", b"string4", "string5", b"string5", "workflow", b"workflow"]) -> None: ...

    @final
    class Part2(Message):
        DESCRIPTOR: Descriptor

        STRING1_FIELD_NUMBER: int
        STRING3_FIELD_NUMBER: int
        string1: str
        string3: str
        def __init__(
            self,
            *,
            string1: str = ...,
            string3: str = ...,
        ) -> None: ...
        def ClearField(self, field_name: Literal["string1", b"string1", "string3", b"string3"]) -> None: ...

    P1_FIELD_NUMBER: int
    P2_FIELD_NUMBER: int
    @property
    def p1(self) -> RepeatedCompositeFieldContainer[GetAssistantRoutinesResponse.Part1]: ...
    @property
    def p2(self) -> GetAssistantRoutinesResponse.Part2: ...
    def __init__(
        self,
        *,
        p1: Iterable[GetAssistantRoutinesResponse.Part1] | None = ...,
        p2: GetAssistantRoutinesResponse.Part2 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: Literal["p2", b"p2"]) -> bool: ...
    def ClearField(self, field_name: Literal["p1", b"p1", "p2", b"p2"]) -> None: ...

@final
class GetHomeGraphRequest(Message):
    DESCRIPTOR: Descriptor

    STRING1_FIELD_NUMBER: int
    NUM2_FIELD_NUMBER: int
    string1: str
    num2: str
    def __init__(
        self,
        *,
        string1: str = ...,
        num2: str = ...,
    ) -> None: ...
    def ClearField(self, field_name: Literal["num2", b"num2", "string1", b"string1"]) -> None: ...

@final
class GetHomeGraphResponse(Message):
    DESCRIPTOR: Descriptor

    @final
    class Home(Message):
        DESCRIPTOR: Descriptor

        @final
        class Location(Message):
            DESCRIPTOR: Descriptor

            @final
            class Coordinates(Message):
                DESCRIPTOR: Descriptor

                LATITUDE_FIELD_NUMBER: int
                LONGITUDE_FIELD_NUMBER: int
                latitude: float
                longitude: float
                def __init__(
                    self,
                    *,
                    latitude: float = ...,
                    longitude: float = ...,
                ) -> None: ...
                def ClearField(self, field_name: Literal["latitude", b"latitude", "longitude", b"longitude"]) -> None: ...

            ADDRESS_FIELD_NUMBER: int
            COORDINATES_FIELD_NUMBER: int
            TIMESTAMP5_FIELD_NUMBER: int
            TIMEZONE_FIELD_NUMBER: int
            address: str
            timestamp5: int
            timezone: str
            @property
            def coordinates(self) -> GetHomeGraphResponse.Home.Location.Coordinates: ...
            def __init__(
                self,
                *,
                address: str = ...,
                coordinates: GetHomeGraphResponse.Home.Location.Coordinates | None = ...,
                timestamp5: int = ...,
                timezone: str = ...,
            ) -> None: ...
            def HasField(self, field_name: Literal["coordinates", b"coordinates"]) -> bool: ...
            def ClearField(self, field_name: Literal["address", b"address", "coordinates", b"coordinates", "timestamp5", b"timestamp5", "timezone", b"timezone"]) -> None: ...

        @final
        class LinkedUser(Message):
            DESCRIPTOR: Descriptor

            EMAIL_ADDRESS_FIELD_NUMBER: int
            email_address: str
            def __init__(
                self,
                *,
                email_address: str = ...,
            ) -> None: ...
            def ClearField(self, field_name: Literal["email_address", b"email_address"]) -> None: ...

        @final
        class Room(Message):
            DESCRIPTOR: Descriptor

            @final
            class Category(Message):
                DESCRIPTOR: Descriptor

                NAME_FIELD_NUMBER: int
                name: str
                def __init__(
                    self,
                    *,
                    name: str = ...,
                ) -> None: ...
                def ClearField(self, field_name: Literal["name", b"name"]) -> None: ...

            ROOM_ID_FIELD_NUMBER: int
            ROOM_NAME_FIELD_NUMBER: int
            CATEGORY_FIELD_NUMBER: int
            room_id: str
            room_name: str
            @property
            def category(self) -> GetHomeGraphResponse.Home.Room.Category: ...
            def __init__(
                self,
                *,
                room_id: str = ...,
                room_name: str = ...,
                category: GetHomeGraphResponse.Home.Room.Category | None = ...,
            ) -> None: ...
            def HasField(self, field_name: Literal["category", b"category"]) -> bool: ...
            def ClearField(self, field_name: Literal["category", b"category", "room_id", b"room_id", "room_name", b"room_name"]) -> None: ...

        @final
        class Device(Message):
            DESCRIPTOR: Descriptor

            @final
            class DeviceInfo(Message):
                DESCRIPTOR: Descriptor

                @final
                class AgentInfo(Message):
                    DESCRIPTOR: Descriptor

                    API_PROJECT_ID_FIELD_NUMBER: int
                    UNIQUE_ID_FIELD_NUMBER: int
                    api_project_id: str
                    unique_id: str
                    def __init__(
                        self,
                        *,
                        api_project_id: str = ...,
                        unique_id: str = ...,
                    ) -> None: ...
                    def ClearField(self, field_name: Literal["api_project_id", b"api_project_id", "unique_id", b"unique_id"]) -> None: ...

                DEVICE_ID_FIELD_NUMBER: int
                AGENT_INFO_FIELD_NUMBER: int
                device_id: str
                @property
                def agent_info(self) -> GetHomeGraphResponse.Home.Device.DeviceInfo.AgentInfo: ...
                def __init__(
                    self,
                    *,
                    device_id: str = ...,
                    agent_info: GetHomeGraphResponse.Home.Device.DeviceInfo.AgentInfo | None = ...,
                ) -> None: ...
                def HasField(self, field_name: Literal["agent_info", b"agent_info"]) -> bool: ...
                def ClearField(self, field_name: Literal["agent_info", b"agent_info", "device_id", b"device_id"]) -> None: ...

            @final
            class Message12(Message):
                DESCRIPTOR: Descriptor

                NUM2_FIELD_NUMBER: int
                NUM4_FIELD_NUMBER: int
                NUM5_FIELD_NUMBER: int
                NUM37_FIELD_NUMBER: int
                NUM38_FIELD_NUMBER: int
                NUM45_FIELD_NUMBER: int
                NUM46_FIELD_NUMBER: int
                num2: int
                num4: int
                num5: int
                num37: int
                num38: int
                num45: int
                num46: int
                def __init__(
                    self,
                    *,
                    num2: int = ...,
                    num4: int = ...,
                    num5: int = ...,
                    num37: int = ...,
                    num38: int = ...,
                    num45: int = ...,
                    num46: int = ...,
                ) -> None: ...
                def ClearField(self, field_name: Literal["num2", b"num2", "num37", b"num37", "num38", b"num38", "num4", b"num4", "num45", b"num45", "num46", b"num46", "num5", b"num5"]) -> None: ...

            @final
            class Message15(Message):
                DESCRIPTOR: Descriptor

                NUM1_FIELD_NUMBER: int
                NUM5_FIELD_NUMBER: int
                NUM6_FIELD_NUMBER: int
                NUM7_FIELD_NUMBER: int
                num1: int
                num5: int
                num6: int
                num7: int
                def __init__(
                    self,
                    *,
                    num1: int = ...,
                    num5: int = ...,
                    num6: int = ...,
                    num7: int = ...,
                ) -> None: ...
                def ClearField(self, field_name: Literal["num1", b"num1", "num5", b"num5", "num6", b"num6", "num7", b"num7"]) -> None: ...

            @final
            class Hardware(Message):
                DESCRIPTOR: Descriptor

                MODEL_FIELD_NUMBER: int
                model: str
                def __init__(
                    self,
                    *,
                    model: str = ...,
                ) -> None: ...
                def ClearField(self, field_name: Literal["model", b"model"]) -> None: ...

            @final
            class Message18(Message):
                DESCRIPTOR: Descriptor

                DEVICE_NAME_FIELD_NUMBER: int
                device_name: str
                def __init__(
                    self,
                    *,
                    device_name: str = ...,
                ) -> None: ...
                def ClearField(self, field_name: Literal["device_name", b"device_name"]) -> None: ...

            @final
            class Message20(Message):
                DESCRIPTOR: Descriptor

                @final
                class Message1(Message):
                    DESCRIPTOR: Descriptor

                    @final
                    class Value(Message):
                        DESCRIPTOR: Descriptor

                        @final
                        class Message6(Message):
                            DESCRIPTOR: Descriptor

                            @final
                            class Message1(Message):
                                DESCRIPTOR: Descriptor

                                @final
                                class Message5(Message):
                                    DESCRIPTOR: Descriptor

                                    @final
                                    class Message1(Message):
                                        DESCRIPTOR: Descriptor

                                        @final
                                        class Message2(Message):
                                            DESCRIPTOR: Descriptor

                                            BOOL4_FIELD_NUMBER: int
                                            bool4: bool
                                            def __init__(
                                                self,
                                                *,
                                                bool4: bool = ...,
                                            ) -> None: ...
                                            def ClearField(self, field_name: Literal["bool4", b"bool4"]) -> None: ...

                                        CAPABILITY_FIELD_NUMBER: int
                                        MESSAGE2_FIELD_NUMBER: int
                                        capability: str
                                        @property
                                        def message2(self) -> GetHomeGraphResponse.Home.Device.Message20.Message1.Value.Message6.Message1.Message5.Message1.Message2: ...
                                        def __init__(
                                            self,
                                            *,
                                            capability: str = ...,
                                            message2: GetHomeGraphResponse.Home.Device.Message20.Message1.Value.Message6.Message1.Message5.Message1.Message2 | None = ...,
                                        ) -> None: ...
                                        def HasField(self, field_name: Literal["message2", b"message2"]) -> bool: ...
                                        def ClearField(self, field_name: Literal["capability", b"capability", "message2", b"message2"]) -> None: ...

                                    MESSAGE1_FIELD_NUMBER: int
                                    @property
                                    def message1(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.Home.Device.Message20.Message1.Value.Message6.Message1.Message5.Message1]: ...
                                    def __init__(
                                        self,
                                        *,
                                        message1: Iterable[GetHomeGraphResponse.Home.Device.Message20.Message1.Value.Message6.Message1.Message5.Message1] | None = ...,
                                    ) -> None: ...
                                    def ClearField(self, field_name: Literal["message1", b"message1"]) -> None: ...

                                MESSAGE5_FIELD_NUMBER: int
                                @property
                                def message5(self) -> GetHomeGraphResponse.Home.Device.Message20.Message1.Value.Message6.Message1.Message5: ...
                                def __init__(
                                    self,
                                    *,
                                    message5: GetHomeGraphResponse.Home.Device.Message20.Message1.Value.Message6.Message1.Message5 | None = ...,
                                ) -> None: ...
                                def HasField(self, field_name: Literal["message5", b"message5"]) -> bool: ...
                                def ClearField(self, field_name: Literal["message5", b"message5"]) -> None: ...

                            MESSAGE1_FIELD_NUMBER: int
                            @property
                            def message1(self) -> GetHomeGraphResponse.Home.Device.Message20.Message1.Value.Message6.Message1: ...
                            def __init__(
                                self,
                                *,
                                message1: GetHomeGraphResponse.Home.Device.Message20.Message1.Value.Message6.Message1 | None = ...,
                            ) -> None: ...
                            def HasField(self, field_name: Literal["message1", b"message1"]) -> bool: ...
                            def ClearField(self, field_name: Literal["message1", b"message1"]) -> None: ...

                        MESSAGE6_FIELD_NUMBER: int
                        @property
                        def message6(self) -> GetHomeGraphResponse.Home.Device.Message20.Message1.Value.Message6: ...
                        def __init__(
                            self,
                            *,
                            message6: GetHomeGraphResponse.Home.Device.Message20.Message1.Value.Message6 | None = ...,
                        ) -> None: ...
                        def HasField(self, field_name: Literal["message6", b"message6"]) -> bool: ...
                        def ClearField(self, field_name: Literal["message6", b"message6"]) -> None: ...

                    KEY_FIELD_NUMBER: int
                    VALUE_FIELD_NUMBER: int
                    key: str
                    @property
                    def value(self) -> GetHomeGraphResponse.Home.Device.Message20.Message1.Value: ...
                    def __init__(
                        self,
                        *,
                        key: str = ...,
                        value: GetHomeGraphResponse.Home.Device.Message20.Message1.Value | None = ...,
                    ) -> None: ...
                    def HasField(self, field_name: Literal["value", b"value"]) -> bool: ...
                    def ClearField(self, field_name: Literal["key", b"key", "value", b"value"]) -> None: ...

                MESSAGE1_FIELD_NUMBER: int
                @property
                def message1(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.Home.Device.Message20.Message1]: ...
                def __init__(
                    self,
                    *,
                    message1: Iterable[GetHomeGraphResponse.Home.Device.Message20.Message1] | None = ...,
                ) -> None: ...
                def ClearField(self, field_name: Literal["message1", b"message1"]) -> None: ...

            @final
            class Message25(Message):
                DESCRIPTOR: Descriptor

                BOOL1_FIELD_NUMBER: int
                BOOL2_FIELD_NUMBER: int
                bool1: bool
                bool2: bool
                def __init__(
                    self,
                    *,
                    bool1: bool = ...,
                    bool2: bool = ...,
                ) -> None: ...
                def ClearField(self, field_name: Literal["bool1", b"bool1", "bool2", b"bool2"]) -> None: ...

            @final
            class LinkedUser(Message):
                DESCRIPTOR: Descriptor

                EMAIL_ADDRESS_FIELD_NUMBER: int
                email_address: str
                def __init__(
                    self,
                    *,
                    email_address: str = ...,
                ) -> None: ...
                def ClearField(self, field_name: Literal["email_address", b"email_address"]) -> None: ...

            @final
            class State(Message):
                DESCRIPTOR: Descriptor

                NAME_FIELD_NUMBER: int
                VALUE_FIELD_NUMBER: int
                name: str
                value: bytes
                def __init__(
                    self,
                    *,
                    name: str = ...,
                    value: bytes = ...,
                ) -> None: ...
                def ClearField(self, field_name: Literal["name", b"name", "value", b"value"]) -> None: ...

            @final
            class Message30(Message):
                DESCRIPTOR: Descriptor

                @final
                class Message2(Message):
                    DESCRIPTOR: Descriptor

                    @final
                    class Message2(Message):
                        DESCRIPTOR: Descriptor

                        BOOL4_FIELD_NUMBER: int
                        bool4: bool
                        def __init__(
                            self,
                            *,
                            bool4: bool = ...,
                        ) -> None: ...
                        def ClearField(self, field_name: Literal["bool4", b"bool4"]) -> None: ...

                    STRING1_FIELD_NUMBER: int
                    MESSAGE2_FIELD_NUMBER: int
                    string1: str
                    @property
                    def message2(self) -> GetHomeGraphResponse.Home.Device.Message30.Message2.Message2: ...
                    def __init__(
                        self,
                        *,
                        string1: str = ...,
                        message2: GetHomeGraphResponse.Home.Device.Message30.Message2.Message2 | None = ...,
                    ) -> None: ...
                    def HasField(self, field_name: Literal["message2", b"message2"]) -> bool: ...
                    def ClearField(self, field_name: Literal["message2", b"message2", "string1", b"string1"]) -> None: ...

                KEY_FIELD_NUMBER: int
                MESSAGE2_FIELD_NUMBER: int
                key: str
                @property
                def message2(self) -> GetHomeGraphResponse.Home.Device.Message30.Message2: ...
                def __init__(
                    self,
                    *,
                    key: str = ...,
                    message2: GetHomeGraphResponse.Home.Device.Message30.Message2 | None = ...,
                ) -> None: ...
                def HasField(self, field_name: Literal["message2", b"message2"]) -> bool: ...
                def ClearField(self, field_name: Literal["key", b"key", "message2", b"message2"]) -> None: ...

            @final
            class Message34(Message):
                DESCRIPTOR: Descriptor

                BOOL1_FIELD_NUMBER: int
                bool1: bool
                def __init__(
                    self,
                    *,
                    bool1: bool = ...,
                ) -> None: ...
                def ClearField(self, field_name: Literal["bool1", b"bool1"]) -> None: ...

            DEVICE_INFO_FIELD_NUMBER: int
            DEVICE_NAME_FIELD_NUMBER: int
            DEVICE_TYPE_FIELD_NUMBER: int
            TRAITS_FIELD_NUMBER: int
            SUFFIX_FIELD_NUMBER: int
            MESSAGE12_FIELD_NUMBER: int
            MESSAGE15_FIELD_NUMBER: int
            HARDWARE_FIELD_NUMBER: int
            MESSAGE18_FIELD_NUMBER: int
            TIMESTAMP19_FIELD_NUMBER: int
            MESSAGE20_FIELD_NUMBER: int
            MESSAGE25_FIELD_NUMBER: int
            LINKED_USERS_FIELD_NUMBER: int
            LOCAL_AUTH_TOKEN_FIELD_NUMBER: int
            STATES_FIELD_NUMBER: int
            MESSAGE30_FIELD_NUMBER: int
            MESSAGE34_FIELD_NUMBER: int
            NUM37_FIELD_NUMBER: int
            STRING41_FIELD_NUMBER: int
            STRING42_FIELD_NUMBER: int
            device_name: str
            device_type: str
            suffix: str
            timestamp19: int
            local_auth_token: str
            num37: int
            string41: str
            string42: str
            @property
            def device_info(self) -> GetHomeGraphResponse.Home.Device.DeviceInfo: ...
            @property
            def traits(self) -> RepeatedScalarFieldContainer[str]: ...
            @property
            def message12(self) -> GetHomeGraphResponse.Home.Device.Message12: ...
            @property
            def message15(self) -> GetHomeGraphResponse.Home.Device.Message15: ...
            @property
            def hardware(self) -> GetHomeGraphResponse.Home.Device.Hardware: ...
            @property
            def message18(self) -> GetHomeGraphResponse.Home.Device.Message18: ...
            @property
            def message20(self) -> GetHomeGraphResponse.Home.Device.Message20: ...
            @property
            def message25(self) -> GetHomeGraphResponse.Home.Device.Message25: ...
            @property
            def linked_users(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.Home.Device.LinkedUser]: ...
            @property
            def states(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.Home.Device.State]: ...
            @property
            def message30(self) -> GetHomeGraphResponse.Home.Device.Message30: ...
            @property
            def message34(self) -> GetHomeGraphResponse.Home.Device.Message34: ...
            def __init__(
                self,
                *,
                device_info: GetHomeGraphResponse.Home.Device.DeviceInfo | None = ...,
                device_name: str = ...,
                device_type: str = ...,
                traits: Iterable[str] | None = ...,
                suffix: str = ...,
                message12: GetHomeGraphResponse.Home.Device.Message12 | None = ...,
                message15: GetHomeGraphResponse.Home.Device.Message15 | None = ...,
                hardware: GetHomeGraphResponse.Home.Device.Hardware | None = ...,
                message18: GetHomeGraphResponse.Home.Device.Message18 | None = ...,
                timestamp19: int = ...,
                message20: GetHomeGraphResponse.Home.Device.Message20 | None = ...,
                message25: GetHomeGraphResponse.Home.Device.Message25 | None = ...,
                linked_users: Iterable[GetHomeGraphResponse.Home.Device.LinkedUser] | None = ...,
                local_auth_token: str = ...,
                states: Iterable[GetHomeGraphResponse.Home.Device.State] | None = ...,
                message30: GetHomeGraphResponse.Home.Device.Message30 | None = ...,
                message34: GetHomeGraphResponse.Home.Device.Message34 | None = ...,
                num37: int = ...,
                string41: str = ...,
                string42: str = ...,
            ) -> None: ...
            def HasField(self, field_name: Literal["device_info", b"device_info", "hardware", b"hardware", "message12", b"message12", "message15", b"message15", "message18", b"message18", "message20", b"message20", "message25", b"message25", "message30", b"message30", "message34", b"message34"]) -> bool: ...
            def ClearField(self, field_name: Literal["device_info", b"device_info", "device_name", b"device_name", "device_type", b"device_type", "hardware", b"hardware", "linked_users", b"linked_users", "local_auth_token", b"local_auth_token", "message12", b"message12", "message15", b"message15", "message18", b"message18", "message20", b"message20", "message25", b"message25", "message30", b"message30", "message34", b"message34", "num37", b"num37", "states", b"states", "string41", b"string41", "string42", b"string42", "suffix", b"suffix", "timestamp19", b"timestamp19", "traits", b"traits"]) -> None: ...

        @final
        class Message11(Message):
            DESCRIPTOR: Descriptor

            BOOL1_FIELD_NUMBER: int
            bool1: bool
            def __init__(
                self,
                *,
                bool1: bool = ...,
            ) -> None: ...
            def ClearField(self, field_name: Literal["bool1", b"bool1"]) -> None: ...

        @final
        class Message13(Message):
            DESCRIPTOR: Descriptor

            @final
            class Message1(Message):
                DESCRIPTOR: Descriptor

                @final
                class DeviceInfo(Message):
                    DESCRIPTOR: Descriptor

                    @final
                    class AgentInfo(Message):
                        DESCRIPTOR: Descriptor

                        API_PROJECT_ID_FIELD_NUMBER: int
                        UNIQUE_ID_FIELD_NUMBER: int
                        api_project_id: str
                        unique_id: str
                        def __init__(
                            self,
                            *,
                            api_project_id: str = ...,
                            unique_id: str = ...,
                        ) -> None: ...
                        def ClearField(self, field_name: Literal["api_project_id", b"api_project_id", "unique_id", b"unique_id"]) -> None: ...

                    DEVICE_ID_FIELD_NUMBER: int
                    AGENT_INFO_FIELD_NUMBER: int
                    device_id: str
                    @property
                    def agent_info(self) -> GetHomeGraphResponse.Home.Message13.Message1.DeviceInfo.AgentInfo: ...
                    def __init__(
                        self,
                        *,
                        device_id: str = ...,
                        agent_info: GetHomeGraphResponse.Home.Message13.Message1.DeviceInfo.AgentInfo | None = ...,
                    ) -> None: ...
                    def HasField(self, field_name: Literal["agent_info", b"agent_info"]) -> bool: ...
                    def ClearField(self, field_name: Literal["agent_info", b"agent_info", "device_id", b"device_id"]) -> None: ...

                DEVICE_INFO_FIELD_NUMBER: int
                @property
                def device_info(self) -> GetHomeGraphResponse.Home.Message13.Message1.DeviceInfo: ...
                def __init__(
                    self,
                    *,
                    device_info: GetHomeGraphResponse.Home.Message13.Message1.DeviceInfo | None = ...,
                ) -> None: ...
                def HasField(self, field_name: Literal["device_info", b"device_info"]) -> bool: ...
                def ClearField(self, field_name: Literal["device_info", b"device_info"]) -> None: ...

            MESSAGE1_FIELD_NUMBER: int
            DUO_CALL_URL_FIELD_NUMBER: int
            DUO_PHONE_NUMBER_FIELD_NUMBER: int
            duo_call_url: str
            duo_phone_number: str
            @property
            def message1(self) -> GetHomeGraphResponse.Home.Message13.Message1: ...
            def __init__(
                self,
                *,
                message1: GetHomeGraphResponse.Home.Message13.Message1 | None = ...,
                duo_call_url: str = ...,
                duo_phone_number: str = ...,
            ) -> None: ...
            def HasField(self, field_name: Literal["message1", b"message1"]) -> bool: ...
            def ClearField(self, field_name: Literal["duo_call_url", b"duo_call_url", "duo_phone_number", b"duo_phone_number", "message1", b"message1"]) -> None: ...

        @final
        class Message15(Message):
            DESCRIPTOR: Descriptor

            @final
            class Message3(Message):
                DESCRIPTOR: Descriptor

                @final
                class Message2(Message):
                    DESCRIPTOR: Descriptor

                    STRING1_FIELD_NUMBER: int
                    string1: str
                    def __init__(
                        self,
                        *,
                        string1: str = ...,
                    ) -> None: ...
                    def ClearField(self, field_name: Literal["string1", b"string1"]) -> None: ...

                STRING1_FIELD_NUMBER: int
                MESSAGE2_FIELD_NUMBER: int
                string1: str
                @property
                def message2(self) -> GetHomeGraphResponse.Home.Message15.Message3.Message2: ...
                def __init__(
                    self,
                    *,
                    string1: str = ...,
                    message2: GetHomeGraphResponse.Home.Message15.Message3.Message2 | None = ...,
                ) -> None: ...
                def HasField(self, field_name: Literal["message2", b"message2"]) -> bool: ...
                def ClearField(self, field_name: Literal["message2", b"message2", "string1", b"string1"]) -> None: ...

            BOOL1_FIELD_NUMBER: int
            STRING2_FIELD_NUMBER: int
            MESSAGE3_FIELD_NUMBER: int
            BOOL4_FIELD_NUMBER: int
            bool1: bool
            string2: str
            bool4: bool
            @property
            def message3(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.Home.Message15.Message3]: ...
            def __init__(
                self,
                *,
                bool1: bool = ...,
                string2: str = ...,
                message3: Iterable[GetHomeGraphResponse.Home.Message15.Message3] | None = ...,
                bool4: bool = ...,
            ) -> None: ...
            def ClearField(self, field_name: Literal["bool1", b"bool1", "bool4", b"bool4", "message3", b"message3", "string2", b"string2"]) -> None: ...

        HOME_ID_FIELD_NUMBER: int
        HOME_NAME_FIELD_NUMBER: int
        LOCATION_FIELD_NUMBER: int
        LINKED_USERS_FIELD_NUMBER: int
        ROOMS_FIELD_NUMBER: int
        DEVICES_FIELD_NUMBER: int
        MESSAGE11_FIELD_NUMBER: int
        STRING12_FIELD_NUMBER: int
        MESSAGE13_FIELD_NUMBER: int
        MESSAGE14_FIELD_NUMBER: int
        MESSAGE15_FIELD_NUMBER: int
        home_id: str
        home_name: str
        string12: str
        message14: str
        @property
        def location(self) -> GetHomeGraphResponse.Home.Location: ...
        @property
        def linked_users(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.Home.LinkedUser]: ...
        @property
        def rooms(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.Home.Room]: ...
        @property
        def devices(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.Home.Device]: ...
        @property
        def message11(self) -> GetHomeGraphResponse.Home.Message11: ...
        @property
        def message13(self) -> GetHomeGraphResponse.Home.Message13: ...
        @property
        def message15(self) -> GetHomeGraphResponse.Home.Message15: ...
        def __init__(
            self,
            *,
            home_id: str = ...,
            home_name: str = ...,
            location: GetHomeGraphResponse.Home.Location | None = ...,
            linked_users: Iterable[GetHomeGraphResponse.Home.LinkedUser] | None = ...,
            rooms: Iterable[GetHomeGraphResponse.Home.Room] | None = ...,
            devices: Iterable[GetHomeGraphResponse.Home.Device] | None = ...,
            message11: GetHomeGraphResponse.Home.Message11 | None = ...,
            string12: str = ...,
            message13: GetHomeGraphResponse.Home.Message13 | None = ...,
            message14: str = ...,
            message15: GetHomeGraphResponse.Home.Message15 | None = ...,
        ) -> None: ...
        def HasField(self, field_name: Literal["location", b"location", "message11", b"message11", "message13", b"message13", "message15", b"message15"]) -> bool: ...
        def ClearField(self, field_name: Literal["devices", b"devices", "home_id", b"home_id", "home_name", b"home_name", "linked_users", b"linked_users", "location", b"location", "message11", b"message11", "message13", b"message13", "message14", b"message14", "message15", b"message15", "rooms", b"rooms", "string12", b"string12"]) -> None: ...

    @final
    class Group(Message):
        DESCRIPTOR: Descriptor

        @final
        class DeviceInfo(Message):
            DESCRIPTOR: Descriptor

            @final
            class AgentInfo(Message):
                DESCRIPTOR: Descriptor

                API_PROJECT_ID_FIELD_NUMBER: int
                UNIQUE_ID_FIELD_NUMBER: int
                api_project_id: str
                unique_id: str
                def __init__(
                    self,
                    *,
                    api_project_id: str = ...,
                    unique_id: str = ...,
                ) -> None: ...
                def ClearField(self, field_name: Literal["api_project_id", b"api_project_id", "unique_id", b"unique_id"]) -> None: ...

            AGENT_INFO_FIELD_NUMBER: int
            @property
            def agent_info(self) -> GetHomeGraphResponse.Group.DeviceInfo.AgentInfo: ...
            def __init__(
                self,
                *,
                agent_info: GetHomeGraphResponse.Group.DeviceInfo.AgentInfo | None = ...,
            ) -> None: ...
            def HasField(self, field_name: Literal["agent_info", b"agent_info"]) -> bool: ...
            def ClearField(self, field_name: Literal["agent_info", b"agent_info"]) -> None: ...

        @final
        class Message12(Message):
            DESCRIPTOR: Descriptor

            BOOL3_FIELD_NUMBER: int
            BOOL4_FIELD_NUMBER: int
            BOOL37_FIELD_NUMBER: int
            BOOL38_FIELD_NUMBER: int
            bool3: bool
            bool4: bool
            bool37: bool
            bool38: bool
            def __init__(
                self,
                *,
                bool3: bool = ...,
                bool4: bool = ...,
                bool37: bool = ...,
                bool38: bool = ...,
            ) -> None: ...
            def ClearField(self, field_name: Literal["bool3", b"bool3", "bool37", b"bool37", "bool38", b"bool38", "bool4", b"bool4"]) -> None: ...

        @final
        class Message15(Message):
            DESCRIPTOR: Descriptor

            STRING1_FIELD_NUMBER: int
            NUM5_FIELD_NUMBER: int
            NUM6_FIELD_NUMBER: int
            string1: str
            num5: int
            num6: int
            def __init__(
                self,
                *,
                string1: str = ...,
                num5: int = ...,
                num6: int = ...,
            ) -> None: ...
            def ClearField(self, field_name: Literal["num5", b"num5", "num6", b"num6", "string1", b"string1"]) -> None: ...

        @final
        class Message17(Message):
            DESCRIPTOR: Descriptor

            GROUP_MODEL_FIELD_NUMBER: int
            group_model: str
            def __init__(
                self,
                *,
                group_model: str = ...,
            ) -> None: ...
            def ClearField(self, field_name: Literal["group_model", b"group_model"]) -> None: ...

        @final
        class Message18(Message):
            DESCRIPTOR: Descriptor

            GROUP_NAME_FIELD_NUMBER: int
            group_name: str
            def __init__(
                self,
                *,
                group_name: str = ...,
            ) -> None: ...
            def ClearField(self, field_name: Literal["group_name", b"group_name"]) -> None: ...

        @final
        class Message34(Message):
            DESCRIPTOR: Descriptor

            BOOL1_FIELD_NUMBER: int
            bool1: bool
            def __init__(
                self,
                *,
                bool1: bool = ...,
            ) -> None: ...
            def ClearField(self, field_name: Literal["bool1", b"bool1"]) -> None: ...

        DEVICE_INFO_FIELD_NUMBER: int
        GROUP_NMAE_FIELD_NUMBER: int
        DEVICE_TYPE_FIELD_NUMBER: int
        TRAITS_FIELD_NUMBER: int
        SUFFIX_FIELD_NUMBER: int
        MESSAGE12_FIELD_NUMBER: int
        MESSAGE15_FIELD_NUMBER: int
        MESSAGE17_FIELD_NUMBER: int
        MESSAGE18_FIELD_NUMBER: int
        TIMESTAMP19_FIELD_NUMBER: int
        MESSAGE34_FIELD_NUMBER: int
        group_nmae: str
        device_type: str
        traits: str
        suffix: str
        timestamp19: int
        @property
        def device_info(self) -> GetHomeGraphResponse.Group.DeviceInfo: ...
        @property
        def message12(self) -> GetHomeGraphResponse.Group.Message12: ...
        @property
        def message15(self) -> GetHomeGraphResponse.Group.Message15: ...
        @property
        def message17(self) -> GetHomeGraphResponse.Group.Message17: ...
        @property
        def message18(self) -> GetHomeGraphResponse.Group.Message18: ...
        @property
        def message34(self) -> GetHomeGraphResponse.Group.Message34: ...
        def __init__(
            self,
            *,
            device_info: GetHomeGraphResponse.Group.DeviceInfo | None = ...,
            group_nmae: str = ...,
            device_type: str = ...,
            traits: str = ...,
            suffix: str = ...,
            message12: GetHomeGraphResponse.Group.Message12 | None = ...,
            message15: GetHomeGraphResponse.Group.Message15 | None = ...,
            message17: GetHomeGraphResponse.Group.Message17 | None = ...,
            message18: GetHomeGraphResponse.Group.Message18 | None = ...,
            timestamp19: int = ...,
            message34: GetHomeGraphResponse.Group.Message34 | None = ...,
        ) -> None: ...
        def HasField(self, field_name: Literal["device_info", b"device_info", "message12", b"message12", "message15", b"message15", "message17", b"message17", "message18", b"message18", "message34", b"message34"]) -> bool: ...
        def ClearField(self, field_name: Literal["device_info", b"device_info", "device_type", b"device_type", "group_nmae", b"group_nmae", "message12", b"message12", "message15", b"message15", "message17", b"message17", "message18", b"message18", "message34", b"message34", "suffix", b"suffix", "timestamp19", b"timestamp19", "traits", b"traits"]) -> None: ...

    @final
    class RoomType(Message):
        DESCRIPTOR: Descriptor

        CODE_FIELD_NUMBER: int
        NAME_FIELD_NUMBER: int
        code: str
        name: str
        def __init__(
            self,
            *,
            code: str = ...,
            name: str = ...,
        ) -> None: ...
        def ClearField(self, field_name: Literal["code", b"code", "name", b"name"]) -> None: ...

    @final
    class DeviceType(Message):
        DESCRIPTOR: Descriptor

        CODE_FIELD_NUMBER: int
        NAME_FIELD_NUMBER: int
        code: str
        name: str
        def __init__(
            self,
            *,
            code: str = ...,
            name: str = ...,
        ) -> None: ...
        def ClearField(self, field_name: Literal["code", b"code", "name", b"name"]) -> None: ...

    @final
    class ProjectType(Message):
        DESCRIPTOR: Descriptor

        CODE_FIELD_NUMBER: int
        NAME_FIELD_NUMBER: int
        code: str
        name: str
        def __init__(
            self,
            *,
            code: str = ...,
            name: str = ...,
        ) -> None: ...
        def ClearField(self, field_name: Literal["code", b"code", "name", b"name"]) -> None: ...

    @final
    class Message11(Message):
        DESCRIPTOR: Descriptor

        @final
        class Message2(Message):
            DESCRIPTOR: Descriptor

            NUM2_FIELD_NUMBER: int
            num2: int
            def __init__(
                self,
                *,
                num2: int = ...,
            ) -> None: ...
            def ClearField(self, field_name: Literal["num2", b"num2"]) -> None: ...

        NAME_FIELD_NUMBER: int
        MESSAGE2_FIELD_NUMBER: int
        name: str
        @property
        def message2(self) -> GetHomeGraphResponse.Message11.Message2: ...
        def __init__(
            self,
            *,
            name: str = ...,
            message2: GetHomeGraphResponse.Message11.Message2 | None = ...,
        ) -> None: ...
        def HasField(self, field_name: Literal["message2", b"message2"]) -> bool: ...
        def ClearField(self, field_name: Literal["message2", b"message2", "name", b"name"]) -> None: ...

    @final
    class LinkedApp(Message):
        DESCRIPTOR: Descriptor

        STRING1_FIELD_NUMBER: int
        STRING2_FIELD_NUMBER: int
        NUM3_FIELD_NUMBER: int
        NUM4_FIELD_NUMBER: int
        NUM5_FIELD_NUMBER: int
        string1: str
        string2: str
        num3: int
        num4: int
        num5: int
        def __init__(
            self,
            *,
            string1: str = ...,
            string2: str = ...,
            num3: int = ...,
            num4: int = ...,
            num5: int = ...,
        ) -> None: ...
        def ClearField(self, field_name: Literal["num3", b"num3", "num4", b"num4", "num5", b"num5", "string1", b"string1", "string2", b"string2"]) -> None: ...

    TIMESTAMP1_FIELD_NUMBER: int
    HOME_FIELD_NUMBER: int
    GROUPS_FIELD_NUMBER: int
    ROOM_TYPES_FIELD_NUMBER: int
    STRING5_FIELD_NUMBER: int
    BOOL6_FIELD_NUMBER: int
    DEVICE_TYPES_FIELD_NUMBER: int
    PROJECT_TYPES_FIELD_NUMBER: int
    MESSAGE11_FIELD_NUMBER: int
    LINKED_APPS_FIELD_NUMBER: int
    timestamp1: int
    string5: str
    bool6: bool
    @property
    def home(self) -> GetHomeGraphResponse.Home: ...
    @property
    def groups(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.Group]: ...
    @property
    def room_types(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.RoomType]: ...
    @property
    def device_types(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.DeviceType]: ...
    @property
    def project_types(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.ProjectType]: ...
    @property
    def message11(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.Message11]: ...
    @property
    def linked_apps(self) -> RepeatedCompositeFieldContainer[GetHomeGraphResponse.LinkedApp]: ...
    def __init__(
        self,
        *,
        timestamp1: int = ...,
        home: GetHomeGraphResponse.Home | None = ...,
        groups: Iterable[GetHomeGraphResponse.Group] | None = ...,
        room_types: Iterable[GetHomeGraphResponse.RoomType] | None = ...,
        string5: str = ...,
        bool6: bool = ...,
        device_types: Iterable[GetHomeGraphResponse.DeviceType] | None = ...,
        project_types: Iterable[GetHomeGraphResponse.ProjectType] | None = ...,
        message11: Iterable[GetHomeGraphResponse.Message11] | None = ...,
        linked_apps: Iterable[GetHomeGraphResponse.LinkedApp] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: Literal["home", b"home"]) -> bool: ...
    def ClearField(self, field_name: Literal["bool6", b"bool6", "device_types", b"device_types", "groups", b"groups", "home", b"home", "linked_apps", b"linked_apps", "message11", b"message11", "project_types", b"project_types", "room_types", b"room_types", "string5", b"string5", "timestamp1", b"timestamp1"]) -> None: ...

@final
class GetAssistantDeviceSettingsRequest(Message):
    DESCRIPTOR: Descriptor

    @final
    class DeviceInfo(Message):
        DESCRIPTOR: Descriptor

        @final
        class AgentInfo(Message):
            DESCRIPTOR: Descriptor

            API_PROJECT_ID_FIELD_NUMBER: int
            UNIQUE_ID_FIELD_NUMBER: int
            api_project_id: str
            unique_id: str
            def __init__(
                self,
                *,
                api_project_id: str = ...,
                unique_id: str = ...,
            ) -> None: ...
            def ClearField(self, field_name: Literal["api_project_id", b"api_project_id", "unique_id", b"unique_id"]) -> None: ...

        DEVICE_ID_FIELD_NUMBER: int
        AGENT_INFO_FIELD_NUMBER: int
        device_id: str
        @property
        def agent_info(self) -> GetAssistantDeviceSettingsRequest.DeviceInfo.AgentInfo: ...
        def __init__(
            self,
            *,
            device_id: str = ...,
            agent_info: GetAssistantDeviceSettingsRequest.DeviceInfo.AgentInfo | None = ...,
        ) -> None: ...
        def HasField(self, field_name: Literal["agent_info", b"agent_info"]) -> bool: ...
        def ClearField(self, field_name: Literal["agent_info", b"agent_info", "device_id", b"device_id"]) -> None: ...

    DEVICE_INFO_FIELD_NUMBER: int
    STRING2_FIELD_NUMBER: int
    string2: str
    @property
    def device_info(self) -> GetAssistantDeviceSettingsRequest.DeviceInfo: ...
    def __init__(
        self,
        *,
        device_info: GetAssistantDeviceSettingsRequest.DeviceInfo | None = ...,
        string2: str = ...,
    ) -> None: ...
    def HasField(self, field_name: Literal["device_info", b"device_info"]) -> bool: ...
    def ClearField(self, field_name: Literal["device_info", b"device_info", "string2", b"string2"]) -> None: ...

@final
class GetAssistantDeviceSettingsResponse(Message):
    DESCRIPTOR: Descriptor

    @final
    class Message1(Message):
        DESCRIPTOR: Descriptor

        NUM1_FIELD_NUMBER: int
        NUM2_FIELD_NUMBER: int
        NUM4_FIELD_NUMBER: int
        NUM5_FIELD_NUMBER: int
        NUM6_FIELD_NUMBER: int
        STRING10_FIELD_NUMBER: int
        num1: int
        num2: int
        num4: int
        num5: int
        num6: int
        string10: str
        def __init__(
            self,
            *,
            num1: int = ...,
            num2: int = ...,
            num4: int = ...,
            num5: int = ...,
            num6: int = ...,
            string10: str = ...,
        ) -> None: ...
        def ClearField(self, field_name: Literal["num1", b"num1", "num2", b"num2", "num4", b"num4", "num5", b"num5", "num6", b"num6", "string10", b"string10"]) -> None: ...

    MESSAGE1_FIELD_NUMBER: int
    @property
    def message1(self) -> GetAssistantDeviceSettingsResponse.Message1: ...
    def __init__(
        self,
        *,
        message1: GetAssistantDeviceSettingsResponse.Message1 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: Literal["message1", b"message1"]) -> bool: ...
    def ClearField(self, field_name: Literal["message1", b"message1"]) -> None: ...

@final
class UpdateAssistantDeviceSettingsRequest(Message):
    DESCRIPTOR: Descriptor

    @final
    class DeviceInfo(Message):
        DESCRIPTOR: Descriptor

        @final
        class AgentInfo(Message):
            DESCRIPTOR: Descriptor

            API_PROJECT_ID_FIELD_NUMBER: int
            UNIQUE_ID_FIELD_NUMBER: int
            api_project_id: str
            unique_id: str
            def __init__(
                self,
                *,
                api_project_id: str = ...,
                unique_id: str = ...,
            ) -> None: ...
            def ClearField(self, field_name: Literal["api_project_id", b"api_project_id", "unique_id", b"unique_id"]) -> None: ...

        DEVICE_ID_FIELD_NUMBER: int
        AGENT_INFO_FIELD_NUMBER: int
        device_id: str
        @property
        def agent_info(self) -> UpdateAssistantDeviceSettingsRequest.DeviceInfo.AgentInfo: ...
        def __init__(
            self,
            *,
            device_id: str = ...,
            agent_info: UpdateAssistantDeviceSettingsRequest.DeviceInfo.AgentInfo | None = ...,
        ) -> None: ...
        def HasField(self, field_name: Literal["agent_info", b"agent_info"]) -> bool: ...
        def ClearField(self, field_name: Literal["agent_info", b"agent_info", "device_id", b"device_id"]) -> None: ...

    @final
    class UpdateData(Message):
        DESCRIPTOR: Descriptor

        @final
        class Message1(Message):
            DESCRIPTOR: Descriptor

            YOUTUBE_RESTRICTED_MODE_FIELD_NUMBER: int
            YOUTUBE_TV_CONTENT_FILTER_FIELD_NUMBER: int
            LOCALE_FIELD_NUMBER: int
            youtube_restricted_mode: int
            """1=off, 2=on"""
            youtube_tv_content_filter: int
            """1=off, 2=on"""
            locale: str
            """local like "en-US" """
            def __init__(
                self,
                *,
                youtube_restricted_mode: int = ...,
                youtube_tv_content_filter: int = ...,
                locale: str = ...,
            ) -> None: ...
            def ClearField(self, field_name: Literal["locale", b"locale", "youtube_restricted_mode", b"youtube_restricted_mode", "youtube_tv_content_filter", b"youtube_tv_content_filter"]) -> None: ...

        MESSAGE1_FIELD_NUMBER: int
        @property
        def message1(self) -> UpdateAssistantDeviceSettingsRequest.UpdateData.Message1: ...
        def __init__(
            self,
            *,
            message1: UpdateAssistantDeviceSettingsRequest.UpdateData.Message1 | None = ...,
        ) -> None: ...
        def HasField(self, field_name: Literal["message1", b"message1"]) -> bool: ...
        def ClearField(self, field_name: Literal["message1", b"message1"]) -> None: ...

    STRING1_FIELD_NUMBER: int
    DEVICE_INFO_FIELD_NUMBER: int
    UPDATE_DATA_FIELD_NUMBER: int
    string1: str
    @property
    def device_info(self) -> UpdateAssistantDeviceSettingsRequest.DeviceInfo: ...
    @property
    def update_data(self) -> UpdateAssistantDeviceSettingsRequest.UpdateData: ...
    def __init__(
        self,
        *,
        string1: str = ...,
        device_info: UpdateAssistantDeviceSettingsRequest.DeviceInfo | None = ...,
        update_data: UpdateAssistantDeviceSettingsRequest.UpdateData | None = ...,
    ) -> None: ...
    def HasField(self, field_name: Literal["device_info", b"device_info", "update_data", b"update_data"]) -> bool: ...
    def ClearField(self, field_name: Literal["device_info", b"device_info", "string1", b"string1", "update_data", b"update_data"]) -> None: ...

@final
class UpdateAssistantDeviceSettingsResponse(Message):
    DESCRIPTOR: Descriptor

    STRING1_FIELD_NUMBER: int
    string1: str
    def __init__(
        self,
        *,
        string1: str = ...,
    ) -> None: ...
    def ClearField(self, field_name: Literal["string1", b"string1"]) -> None: ...
