from collections.abc import Sequence
from typing import final
@final
class BeaconCryptBeacon:
def __new__(cls, /, server_kid: int, server_id_pk: bytes) -> BeaconCryptBeacon: ...
def decrypt_server_message(self, /, data: Sequence[int]) -> bytes |None: ...
def encrypt_message_to_server(self, /, data: Sequence[int]) -> bytes |None: ...
def generate_registration(self, /) -> bytes |None:
def process_initial_message(self, /, data: Sequence[int]) -> bytes |None:
@final
class BeaconCryptServer:
def __new__(cls, /, kid: int, id_seed: bytes |None) -> BeaconCryptServer: ...
def decrypt_and_update(self, /, data: Sequence[int]) -> EncryptState |None: ...
def decrypt_and_update_json(self, /, data: Sequence[int]) -> str |None: ...
def decrypt_beacon_message(self, /, data: Sequence[int]) -> bytes |None: ...
def encrypt_and_update(self, /, data: Sequence[int], kid: int) -> EncryptState |None: ...
def encrypt_and_update_json(self, /, data: Sequence[int], kid: int) -> str |None: ...
def encrypt_to_beacon(self, /, data: Sequence[int], kid: int) -> bytes |None: ...
def export_state(self, /) -> str |None: ...
@staticmethod
def from_state(kid: int, id_seed: bytes |None, server_state: str) -> BeaconCryptServer: ...
def id_pk(self, /) -> bytes: ...
def register_beacon(self, /, reg_buffer: bytes, initial_message: bytes |None) -> RegResponse |None: ...
@final
class EncryptState:
def data(self, /) -> bytes: ...
def key_id(self, /) -> int: ...
def seq(self, /) -> int: ...
def state(self, /) -> str:
@final
class RegResponse:
def key_id(self, /) -> int: ...
def serialized(self, /) -> bytes: ...