```cs
public struct Color
{
// Alpha channel
public byte A;
// Creates a color from byte components. Alpha defaults to 255
public Color(byte red, byte green, byte blue, byte alpha = 255);
// Packed 32-bit ARGB value
public uint ARGB;
// Blue channel
public byte B;
// Returns true if two colors differ
public static bool operator !=(Color a, Color b);
// Creates a color from another color with a alpha value Source color New alpha channel (0–1)
public Color(Color other, float alpha);
// Creates a color from a packed ABGR value Packed 32-bit ABGR value
public Color(uint abgr);
public override bool Equals(object obj);
// Green channel
public byte G;
public override int GetHashCode();
// Linearly interpolates between two colors Start color End color Interpolation factor (0.0 – 1.0)
public static Color Interpolate(Color A, Color B, double pos);
// Returns true if two colors have identical values
public static bool operator ==(Color a, Color b);
// Red channel
public byte R;
public override string ToString();
// Packed 32-bit ABGR value
public uint Value;
// Returns a copy of this color with the specified normalized alpha New alpha channel (0.0 – 1.0)
public Color WithAlpha(float alpha);
}
```