'use strict';

const EventEmitter = require('events');

/**
 * Tracker Manager
 * @interface
 */
class ITrackerManager extends EventEmitter {
	constructor() {
		super();

		if (this.constructor === ITrackerManager) {
			throw new TypeError('Can not create new instance of interface');
		}
	}

	/**
	 * Include tracker in search
	 * @param {ITracker} tracker
	 * @return {number|undefined} Index of tracker in array
	 */
	include(tracker) {
		throw new TypeError('Method "include" is not implemented.');
	}

	/**
	 * Exclude tracker from search
	 * @param {number} index
	 * @return {ITracker|undefined} Excluded Tracker instance
	 */
	exclude(index) {
		throw new TypeError('Method "exclude" is not implemented.');
	}

	/**
	 * Search in all included trackers
	 * @param {SearchParams} searchParams
	 */
	search(searchParams) {
		throw new TypeError('Method "search" is not implemented.');
	}
}


module.exports = ITrackerManager;

@@ -364,22 +364,22 @@
 return %7B
-number
+string
 %7Cundefin
@@ -386,13 +386,11 @@
 ed%7D 
-Index
+UID
  of 
@@ -404,13 +404,12 @@
  in 
-array
+list
 %0A%09 *
@@ -550,21 +550,19 @@
 am %7B
-number%7D index
+string%7D uid
 %0A%09 *
@@ -635,13 +635,11 @@
 ude(
-index
+uid
 ) %7B%0A

Change interface for make change in implementation