interface Filter { (predicate: (t: T) => t is R, iterable: Iterable): Iterable | undefined; (predicate: (t: T) => boolean, iterable: Iterable): Iterable | undefined; (predicate: (t: T) => t is R): (iterable: Iterable) => Iterable | undefined; (predicate: (t: T) => boolean): (iterable: Iterable) => Iterable | undefined; } /** * * Takes a predicate and a "iterable", and returns a new iterable of the * same type containing the members of the given iterable which satisfy the * given predicate. * * @param predicate The predicate function * @param iterable The iterable target to filter * * @example * * filter(n => n % 2 === 0, [1, 2, 3, 4]); //=> Iterable<[2, 4]> * */ export declare const filter: Filter; export default filter;