// <auto-generated/>

#nullable disable

using System;
using System.Collections.Generic;

namespace OpenAI.Audio
{
    public readonly partial struct TranscribedSegment
    {
        internal TranscribedSegment(int id, int seekOffset, TimeSpan startTime, TimeSpan endTime, string text, ReadOnlyMemory<int> tokenIds, float temperature, float averageLogProbability, float compressionRatio, float noSpeechProbability)
        {
            Argument.AssertNotNull(text, nameof(text));

            Id = id;
            SeekOffset = seekOffset;
            StartTime = startTime;
            EndTime = endTime;
            Text = text;
            TokenIds = tokenIds;
            Temperature = temperature;
            AverageLogProbability = averageLogProbability;
            CompressionRatio = compressionRatio;
            NoSpeechProbability = noSpeechProbability;
        }

        internal TranscribedSegment(int id, int seekOffset, TimeSpan startTime, TimeSpan endTime, string text, ReadOnlyMemory<int> tokenIds, float temperature, float averageLogProbability, float compressionRatio, float noSpeechProbability, IDictionary<string, BinaryData> serializedAdditionalRawData)
        {
            Id = id;
            SeekOffset = seekOffset;
            StartTime = startTime;
            EndTime = endTime;
            Text = text;
            TokenIds = tokenIds;
            Temperature = temperature;
            AverageLogProbability = averageLogProbability;
            CompressionRatio = compressionRatio;
            NoSpeechProbability = noSpeechProbability;
            SerializedAdditionalRawData = serializedAdditionalRawData;
        }

        public TranscribedSegment()
        {
        }

        public int Id { get; }
        public string Text { get; }
        public float Temperature { get; }
        public float CompressionRatio { get; }
    }
}
