// Windows-facing records used by the WinForms application. namespace VoiceCat.Windows; public sealed record ChannelInfo( uint Id, uint ParentId, string Name, string Topic, bool PasswordProtected, uint MaxUsers, int SortOrder, AudioConfigInfo Audio); public sealed record ChannelEditInfo( uint Id, uint ParentId, string Name, string Topic, bool PasswordProtected, string? Password, uint MaxUsers, int SortOrder, AudioConfigInfo Audio); public sealed record UserInfo( uint Id, string Nickname, bool IsGuest, uint ChannelId, bool SelfMicMuted, bool SelfDeafened, bool ServerMuted, bool ServerDeafened, bool VoiceSubscribed); public sealed record PermissionsInfo( bool CanCreateTempChannel, bool CanKick, bool CanBan, bool CanMoveUsers, bool CanAdminAccounts, bool IsAdmin); public sealed record AccountInfo( string Username, bool IsAdmin, ulong CreatedAtUnixMs, ulong LastLoginUnixMs); public sealed record StreamSummary( uint StreamId, VcStreamKind Kind, string Label); public sealed record RemoteStreamState( float Gain, bool Muted, bool NoiseReduction); public sealed record DeviceInfo( string Id, string Name, bool IsDefault); public sealed record AudioConfigInfo( uint Codec, bool Stereo, uint SampleRate, uint BitrateBps, uint FrameMs, uint Application, bool Fec, uint ExpectedPacketLoss, bool Dtx, uint Complexity, bool Dred);