// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
// The goal of this class is to just mock out the Microsoft.VariantAssignment close source objects
namespace Microsoft.VariantAssignment.Contract
{
///
/// Snapshot of variant assignments.
///
public interface IVariantAssignmentResponse : IDisposable
{
/////
///// Gets the serial number of variant assignment configuration snapshot used when assigning variants.
/////
long DataVersion { get; }
/////
///// Get a hash of the response suitable for caching.
/////
// string Thumbprint { get; }
///
/// Gets the variants assigned based on request parameters and a variant configuration snapshot.
///
IReadOnlyCollection AssignedVariants { get; }
///
/// Gets feature variables assigned by variants in this response.
///
/// (Optional) Filter feature variables where contains the .
/// Range of matching feature variables.
IReadOnlyList GetFeatureVariables(IReadOnlyList prefix);
// this actually part of the interface but gets the job done
IReadOnlyList GetFeatureVariables();
// this actually part of the interface but gets the job done
string GetAssignmentContext();
///
/// Gets a single feature variable assigned by variants in this response.
///
/// Exact feature variable path.
/// Matching feature variable or null.
IFeatureVariable GetFeatureVariable(IReadOnlyList path);
}
}