/*! * Convert JS SDK * Version 1.0.0 * Copyright(c) 2020 Convert Insights, Inc * License Apache-2.0 */ import { ConfigFeature, IdentityField, BucketedFeature, BucketingAttributes } from '../../../types'; import { RuleError } from '../../../enums'; export interface FeatureManagerInterface { getList(): Array; getFeature(key: string): ConfigFeature; getFeatureById(id: string): ConfigFeature; getFeatures(keys: Array): Array; getListAsObject(field: IdentityField): Record; getFeatureVariableType(key: string, variableName: string): string; getFeatureVariableTypeById(id: string, variableName: string): string; runFeature(visitorId: string, featureKey: string, attributes: BucketingAttributes, experienceKeys?: Array): BucketedFeature | RuleError | Array; isFeatureEnabled(visitorId: string, featureKey: string, attributes: BucketingAttributes, experienceKeys?: Array): boolean; isFeatureDeclared(key: string): boolean; runFeatureById(visitorId: string, featureId: string, attributes: BucketingAttributes, experienceIds?: Array): BucketedFeature | RuleError | Array; runFeatures(visitorId: string, attributes: BucketingAttributes, filter?: Record>): Array; }