import { ArrayIteratee, ArrayNarrowingIteratee, Cast, IfCouldBe, KeyNarrowingIteratee, Nil, ObjectIteratee, ValueNarrowingIteratee } from '../interfaces'; /** * Iterates over elements of `collection`, returning an array of all elements `predicate` returns truthy for. * * Contribution to minified bundle size, when it is the only function imported: * - Lodash: 14,059 bytes * - Micro-dash: 277 bytes */ export declare function filter(array: I[] | Nil, predicate: ArrayNarrowingIteratee): Array | Extract>; export declare function filter(array: T[] | Nil, predicate: ArrayIteratee): T[]; export declare function filter(object: I | Nil, predicate: ValueNarrowingIteratee): Array | Extract>; export declare function filter(object: I | Nil, predicate: KeyNarrowingIteratee): Array<{ [K in keyof I]: IfCouldBe, O, I[K]>; }[keyof I]>; export declare function filter(object: T | Nil, predicate: ObjectIteratee): Array;