import type { IterableProp } from "../types";
export declare class Collection<T> {
    private source;
    private defaultValue;
    constructor(source?: IterableProp<T>, defaultValue?: Iterable<T>);
    private getIterable;
    [Symbol.iterator](): Iterator<T>;
    keys(): IterableIterator<number>;
    values(): IterableIterator<T>;
    entries(): IterableIterator<[number, T]>;
    toArray(): T[];
    toSet(): Set<T>;
    size(): number;
    isEmpty(): boolean;
    first(): T | undefined;
    last(): T | undefined;
    find(predicate: (value: T) => boolean): T | undefined;
    some(predicate: (value: T) => boolean): boolean;
    every(predicate: (value: T) => boolean): boolean;
}
