export declare class SetOf { private instancesOf; private items; private protectedItems; constructor(instancesOf: T | Function | Object | Array); get empty(): boolean; get first(): T | null; forEach(action: Function | any): void; filter(action: Function | any): T[]; find(action: Function | any): T; get last(): any; get length(): number; get size(): number; add(items: T | T[] | SetOf, protect?: boolean): boolean; remove(items: T | T[] | SetOf): boolean; delete(items: T | T[] | SetOf): boolean; set(items: T | T[] | SetOf, protect?: boolean): any | boolean; get(length?: number): T[]; clear(): boolean; contains(item: T): boolean; has(item: T): boolean; }