// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT License.

// <auto-generated/>

#nullable disable

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

namespace SampleTypeSpec
{
    /// <summary> The ListWithContinuationTokenResponse. </summary>
    internal partial class ListWithContinuationTokenResponse
    {
        /// <summary> Keeps track of any properties unknown to the library. </summary>
        private protected readonly IDictionary<string, BinaryData> _additionalBinaryDataProperties;

        /// <summary> Initializes a new instance of <see cref="ListWithContinuationTokenResponse"/>. </summary>
        /// <param name="things"></param>
        internal ListWithContinuationTokenResponse(IEnumerable<Thing> things)
        {
            Things = things.ToList();
        }

        /// <summary> Initializes a new instance of <see cref="ListWithContinuationTokenResponse"/>. </summary>
        /// <param name="things"></param>
        /// <param name="nextToken"></param>
        /// <param name="additionalBinaryDataProperties"> Keeps track of any properties unknown to the library. </param>
        internal ListWithContinuationTokenResponse(IList<Thing> things, string nextToken, IDictionary<string, BinaryData> additionalBinaryDataProperties)
        {
            Things = things;
            NextToken = nextToken;
            _additionalBinaryDataProperties = additionalBinaryDataProperties;
        }

        /// <summary> Gets the Things. </summary>
        public IList<Thing> Things { get; }

        /// <summary> Gets the NextToken. </summary>
        public string NextToken { get; }
    }
}
