defencode_message(msg:Union[Sequence["SendableMessage"],"SendableMessage"],serializer:Optional["SerializerProto"],)->tuple[bytes,str|None]:"""Encodes a message."""ifmsgisNone:return(b"",None,)ifisinstance(msg,bytes):return(msg,None,)ifisinstance(msg,str):return(msg.encode(),ContentTypes.TEXT.value,)ifserializerisnotNone:return(serializer.encode(msg),ContentTypes.JSON.value,)return(json_dumps(msg),ContentTypes.JSON.value,)