/*! * Convert JS SDK * Version 1.0.0 * Copyright(c) 2020 Convert Insights, Inc * License Apache-2.0 */ import { SegmentsManagerInterface } from './interfaces/segments-manager'; import { Config, VisitorSegments } from '../../types'; import { RuleError } from '../../enums'; import { LogManagerInterface } from '../../logger'; import { DataManagerInterface } from '../../data'; import { RuleManagerInterface } from '../../rules'; /** * Provides segments specific logic * @category Modules * @constructor * @implements {SegmentsManagerInterface} */ export declare class SegmentsManager implements SegmentsManagerInterface { private _data; private _dataManager; private _ruleManager; private _loggerManager; /** * @param {Config} config * @param {Object} dependencies * @param {DataManagerInterface=} dependencies.dataManager * @param {RuleManagerInterface=} dependencies.ruleManager * @param {LogManagerInterface=} dependencies.loggerManager */ constructor(config: Config, { dataManager, ruleManager, loggerManager }: { dataManager: DataManagerInterface; ruleManager: RuleManagerInterface; loggerManager?: LogManagerInterface; }); /** * Get segments in DataStore * @param {string} visitorId * @returns {VisitorSegments} */ getSegments(visitorId: string): VisitorSegments; /** * Update segments in DataStore * @param {string} visitorId * @param {VisitorSegments} segments */ putSegments(visitorId: string, segments: VisitorSegments): void; private setCustomSegments; /** * Update custom segments for specific visitor * @param {string} visitorId * @param {Array} segmentKeys A list of segment keys * @param {Record=} segmentRule An object of key-value pairs that are used for segments matching * @param {string=} environment * @return {VisitorSegments | RuleError} */ selectCustomSegments(visitorId: string, segmentKeys: Array, segmentRule?: Record): VisitorSegments | RuleError; /** * Update custom segments for specific visitor * @param {string} visitorId * @param {Array} segmentIds A list of segment ids * @param {Record=} segmentRule An object of key-value pairs that are used for segments matching * @param {string=} environment * @return {VisitorSegments | RuleError} */ selectCustomSegmentsByIds(visitorId: string, segmentIds: Array, segmentRule?: Record): VisitorSegments | RuleError; }