import { VariableValue } from './variable'; import { FeatureConfiguration } from './featureConfiguration'; export declare enum FeatureSource { api = "api", dashboard = "dashboard" } export declare class Variation { /** * Mongo primary _id. */ _id: IdType; name: string; key: string; /** * Defining variable values. */ variables: { /** * Variable model mongo _id. */ _var: IdType; /** * Variable value to set for Variation. */ value: VariableValue; }[]; } export declare enum FeatureType { release = "release", experiment = "experiment", permission = "permission", ops = "ops" } export type FeatureSettings = { optInEnabled: boolean; publicName: string; publicDescription: string; }; /** * Feature Model. Defines the project-level "container" for a given feature */ export declare class Feature { /** * Mongo primary _id. */ _id: IdType; /** * Define the feature type. */ type: FeatureType; /** * Unique key by Project, can be used in the SDK / API to reference by 'key' rather than _id. * Must only contain lower-case characters and `_` or `-`. */ key: string; /** * Variation configurations to be used by feature configurations. */ variations: Variation[]; configuration: FeatureConfiguration; /** * Defines feature-level settings */ settings?: FeatureSettings; /** * List of tags for feature */ tags?: string[]; }