// <auto-generated/>

#nullable disable

using System;
using System.Collections.Generic;

namespace OpenAI.Chat
{
    public abstract partial class ChatMessage
    {
        private protected IDictionary<string, BinaryData> _serializedAdditionalRawData;

        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; init; }
    }
}
