/*! * @author electricessence / https://github.com/electricessence/ * Licensing: MIT https://github.com/electricessence/TypeScript.NET-Core/blob/master/LICENSE.md */ import LinkedNodeList from "./LinkedNodeList"; import CollectionBase from "./CollectionBase"; import IDisposable from "../Disposable/IDisposable"; import { ILinkedNodeWithValue } from "./ILinkedListNode"; import { ActionWithIndex, PredicateWithIndex } from "../FunctionTypes"; import { FiniteIEnumerator } from "./Enumeration/IEnumerator"; import FiniteEnumerableOrArrayLike from "./FiniteEnumerableOrArrayLike"; import ISet from "./ISet"; export declare abstract class SetBase extends CollectionBase implements ISet, IDisposable { protected constructor(source?: FiniteEnumerableOrArrayLike); protected abstract newUsing(source?: FiniteEnumerableOrArrayLike): SetBase; protected _set: LinkedNodeList> | undefined; protected _getSet(): LinkedNodeList>; protected getCount(): number; addMissing(item: T): boolean; exceptWith(other: FiniteEnumerableOrArrayLike): void; intersectWith(other: FiniteEnumerableOrArrayLike): void; isProperSubsetOf(other: FiniteEnumerableOrArrayLike): boolean; isProperSupersetOf(other: FiniteEnumerableOrArrayLike): boolean; isSubsetOf(other: FiniteEnumerableOrArrayLike): boolean; isSupersetOf(other: FiniteEnumerableOrArrayLike): boolean; overlaps(other: FiniteEnumerableOrArrayLike): boolean; setEquals(other: FiniteEnumerableOrArrayLike): boolean; symmetricExceptWith(other: FiniteEnumerableOrArrayLike): void; unionWith(other: FiniteEnumerableOrArrayLike): void; protected _clearInternal(): number; protected _onDispose(): void; protected abstract _getNode(item: T): ILinkedNodeWithValue | undefined; contains(item: T): boolean; getEnumerator(): FiniteIEnumerator; forEach(action: ActionWithIndex, useCopy?: boolean): number; forEach(action: PredicateWithIndex, useCopy?: boolean): number; protected _removeNode(node: ILinkedNodeWithValue | null | undefined): boolean; removeFirst(): boolean; removeLast(): boolean; } export default SetBase;