// <auto-generated/>

#nullable disable

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

namespace OpenAI.Responses
{
    internal partial class InternalResponsesFileSearchTool : ResponseTool
    {
        public InternalResponsesFileSearchTool(IEnumerable<string> vectorStoreIds) : base(InternalResponsesToolType.FileSearch)
        {
            Argument.AssertNotNull(vectorStoreIds, nameof(vectorStoreIds));

            VectorStoreIds = vectorStoreIds.ToList();
        }

        internal InternalResponsesFileSearchTool(InternalResponsesToolType @type, IDictionary<string, BinaryData> additionalBinaryDataProperties, IList<string> vectorStoreIds, int? maxNumResults, FileSearchToolRankingOptions rankingOptions, BinaryData filters) : base(@type, additionalBinaryDataProperties)
        {
            VectorStoreIds = vectorStoreIds;
            MaxNumResults = maxNumResults;
            RankingOptions = rankingOptions;
            Filters = filters;
        }

        public IList<string> VectorStoreIds { get; }

        public int? MaxNumResults { get; set; }

        public FileSearchToolRankingOptions RankingOptions { get; set; }

        public BinaryData Filters { get; set; }
    }
}
