// <auto-generated/>

#nullable disable

using System;
using System.Collections.Generic;
using OpenAI;

namespace OpenAI.Evals
{
    internal partial class InternalEvalCompletionsRunDataSourceParams : InternalEvalRunDataSourceParams
    {
        public InternalEvalCompletionsRunDataSourceParams(BinaryData source) : base(InternalEvalRunDataSourceType.Completions)
        {
            Argument.AssertNotNull(source, nameof(source));

            Source = source;
        }

        internal InternalEvalCompletionsRunDataSourceParams(InternalEvalRunDataSourceType kind, IDictionary<string, BinaryData> additionalBinaryDataProperties, BinaryData inputMessages, InternalEvalCompletionsRunDataSourceParamsSamplingParams samplingParams, string model, BinaryData source) : base(kind, additionalBinaryDataProperties)
        {
            InputMessages = inputMessages;
            SamplingParams = samplingParams;
            Model = model;
            Source = source;
        }

        public BinaryData InputMessages { get; set; }

        internal InternalEvalCompletionsRunDataSourceParamsSamplingParams SamplingParams { get; set; }

        public string Model { get; set; }

        public BinaryData Source { get; }
    }
}
