// <auto-generated/>

#nullable disable

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

namespace OpenAI.Responses
{
    internal partial class InternalFileSearchToolCallItemParam : InternalItemParam
    {
        public InternalFileSearchToolCallItemParam(IEnumerable<string> queries) : base(InternalItemType.FileSearchCall)
        {
            Argument.AssertNotNull(queries, nameof(queries));

            Queries = queries.ToList();
            Results = new ChangeTrackingList<FileSearchCallResult>();
        }

        internal InternalFileSearchToolCallItemParam(InternalItemType kind, IDictionary<string, BinaryData> additionalBinaryDataProperties, IList<string> queries, IList<FileSearchCallResult> results) : base(kind, additionalBinaryDataProperties)
        {
            // Plugin customization: ensure initialization of collections
            Queries = queries ?? new ChangeTrackingList<string>();
            Results = results ?? new ChangeTrackingList<FileSearchCallResult>();
        }

        public IList<string> Queries { get; }

        public IList<FileSearchCallResult> Results { get; set; }
    }
}
