// Type definitions for jshashset 3.0 // Project: http://www.timdown.co.uk/jshashtable/jshashset.html // Definitions by: Sergey Gerasimov // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// interface IHashSet { add(value: TValue): void; addAll(arr: TValue[]): void; contains(value: TValue): boolean; clear(): void; isEmpty(): boolean; values(): TValue[]; remove(value: TValue): void; size(): number; clone(): IHashSet; isSubsetOf(set: IHashSet): boolean; intersection(set: IHashSet): IHashSet; union(set: IHashSet): IHashSet; complement(set: IHashSet): IHashSet; } interface IHashSetStatic { new (): IHashSet; new (options: IHashtableOptions): IHashSet; new (hashCode?: (value: TValue) => any, equals?: (value1: TValue, value2: TValue) => boolean): IHashSet; } declare var HashSet: IHashSetStatic; declare module "hashset" { export = HashSet; }