/*! * @author electricessence / https://github.com/electricessence/ * Licensing: MIT https://github.com/electricessence/TypeScript.NET/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 { IEnumerator } from "./Enumeration/IEnumerator"; import { IEnumerableOrArray } from "./IEnumerableOrArray"; import { ISet } from "./ISet"; export declare abstract class SetBase extends CollectionBase implements ISet, IDisposable { protected constructor(source?: IEnumerableOrArray); protected abstract newUsing(source?: IEnumerableOrArray): SetBase; protected _set: LinkedNodeList> | undefined; protected _getSet(): LinkedNodeList>; protected getCount(): number; exceptWith(other: IEnumerableOrArray): void; intersectWith(other: IEnumerableOrArray): void; isProperSubsetOf(other: IEnumerableOrArray): boolean; isProperSupersetOf(other: IEnumerableOrArray): boolean; isSubsetOf(other: IEnumerableOrArray): boolean; isSupersetOf(other: IEnumerableOrArray): boolean; overlaps(other: IEnumerableOrArray): boolean; setEquals(other: IEnumerableOrArray): boolean; symmetricExceptWith(other: IEnumerableOrArray): void; unionWith(other: IEnumerableOrArray): void; protected _clearInternal(): number; protected _onDispose(): void; protected abstract _getNode(item: T): ILinkedNodeWithValue | undefined; contains(item: T): boolean; getEnumerator(): IEnumerator; 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;