import { ICollection } from './ICollection'; import { Collection } from './Collection'; import { IItemDecorator } from './IItemDecorator'; import { IComparator } from '../comparator/IComparator'; export declare class DecoratedCollection extends Collection { protected collection: ICollection; protected itemDecorator: IItemDecorator; constructor(collection: ICollection, itemDecorator: IItemDecorator); /** * Decorated iterator for original collection * * @override */ getIteratorInstance(): Iterator; /** * Get decorated item * * @override */ get(index: number): TDecoratedItem; /** * Make clone of the original collection * * @override */ protected newInstance(): ICollection; /** * Sort original collection * * @override */ sort(comparator: IComparator): ICollection; /** * Get size of original collection * * @override */ getSize(): number; /** * Add an element to original collection * * @override */ add(item: TItem): ICollection; /** * Insert element into original collection * * @override */ insert(position: number, item: TItem): ICollection; /** * Remove the all elements from original collection * * @override */ removeAll(): ICollection; /** * Remove an element from original collection * * @override */ remove(item: TItem): boolean; }