export declare abstract class BaseCollection<T> {
abstract values(): IterableIterator<T>;
/**
* Returns `true` if every element in the collection matches the
* provided callback; otherwise, `false`.
*/
every(callbackfn: (value: T) => boolean): boolean;
/**
* Returns `true` if at least one element in the collection matches
* the provided callback; otherwise, `false`.
*/
some(callbackfn?: (value: T) => boolean): boolean;
/**
* Calls the provided callback once for each element in the collection.
*/
forEach(callbackfn: (value: T) => void): void;
/**
* Yields the result of calling the provided callback once for each
* element in the collection.
*/
map<U>(callbackfn: (value: T) => U): IterableIterator<U>;
/**
* Yields each element in the collection that matches the provided callback.
*/
filter<S extends T>(callbackfn: (value: T) => value is S): IterableIterator<S>;
/**
* Yields each element in the collection that matches the provided callback.
*/
filter(callbackfn: (value: T) => boolean): IterableIterator<T>;
/**
* Calls the specified callback function for each elements in the collection.
* The return value of the callback is the accumulated result, and is provided
* as an argument in the next call to the callback.
*/
reduce<U>(callbackfn: (previousValue: U, currentValue: T) => U, initialValue: U): U;
/**
* Finds the first matching element in the collection.
*/
find<S extends T>(callbackfn: (value: T) => value is S): S | undefined;
/**
* Finds the first matching element in the collection.
*/
find(callbackfn: (value: T) => boolean): T | undefined;
}