// <auto-generated/>

#nullable disable

using System;
using System.Collections.Generic;

namespace OpenAI.Chat
{
    public abstract partial class ChatMessage
    {
        internal IDictionary<string, BinaryData> SerializedAdditionalRawData { get; set; }
        protected ChatMessage()
        {
            Content = new ChangeTrackingList<ChatMessageContentPart>();
        }

        internal ChatMessage(string role, IList<ChatMessageContentPart> content, IDictionary<string, BinaryData> serializedAdditionalRawData)
        {
            Role = role;
            Content = content;
            SerializedAdditionalRawData = serializedAdditionalRawData;
        }

        internal string Role { get; set; }
    }
}
