/
/
/
1"""Models specific to state synchronization."""
2
3from dataclasses import dataclass
4
5
6@dataclass(frozen=True, slots=True)
7class WamSpeakerAttributes:
8 """A type-safe, immutable snapshot of the speaker's raw attributes."""
9
10 mac: str
11 name: str
12 model: str | None
13 software_version: str | None
14 source: str | None
15 source_list: list[str]
16 group_leader_mac: str | None
17 is_group_child: bool
18 volume: int | None
19 muted: bool | None
20 play_status: str | None
21