/*! * @author electricessence / https://github.com/electricessence/ * @license MIT */ import { EqualityComparison } from '@tsdotnet/compare'; import Collection from './Collection.js'; import ReadOnlyCollectionBase from './ReadOnlyCollectionBase.js'; export default abstract class CollectionBase extends ReadOnlyCollectionBase implements Collection { private _count; protected constructor(equalityComparer?: EqualityComparison); getCount(): number; add(entry: T): this; remove(entry: T, max?: number): number; clear(): number; addEntries(entries: Iterable): number; dispose(): void; protected abstract _addInternal(entry: T): boolean; protected abstract _removeInternal(entry: T, max?: number): number; protected abstract _clearInternal(): number; protected _addEntries(entries: Iterable | null | undefined): number; }