// <auto-generated/>

#nullable disable

using System;
using System.Collections.Generic;

namespace OpenAI.VectorStores
{
    internal partial class InternalVectorStoreSearchRequest
    {
        private protected IDictionary<string, BinaryData> _additionalBinaryDataProperties;

        internal InternalVectorStoreSearchRequest(BinaryData query)
        {
            Query = query;
        }

        internal InternalVectorStoreSearchRequest(BinaryData query, bool? rewriteQuery, int? maxNumResults, BinaryData filters, InternalVectorStoreSearchRequestRankingOptions rankingOptions, IDictionary<string, BinaryData> additionalBinaryDataProperties)
        {
            Query = query;
            RewriteQuery = rewriteQuery;
            MaxNumResults = maxNumResults;
            Filters = filters;
            RankingOptions = rankingOptions;
            _additionalBinaryDataProperties = additionalBinaryDataProperties;
        }

        public BinaryData Query { get; }

        public bool? RewriteQuery { get; }

        public int? MaxNumResults { get; }

        public BinaryData Filters { get; }

        internal InternalVectorStoreSearchRequestRankingOptions RankingOptions { get; }

        internal IDictionary<string, BinaryData> SerializedAdditionalRawData
        {
            get => _additionalBinaryDataProperties;
            set => _additionalBinaryDataProperties = value;
        }
    }
}
