import { AsyncIterableLike } from "../async-like"; export type FilterFn = (this: This, value: T, parent: Parent) => boolean; export type FilterAsyncFn = (this: This, value: T, parent: Parent) => boolean | Promise; export declare function filterNegatable(iterable: Iterable, callbackFn: FilterFn, negate?: boolean, thisValue?: This, parent?: Parent): Iterable; export declare function asyncFilterNegatable(iterable: AsyncIterableLike, callbackFn: FilterAsyncFn, negate?: boolean, thisValue?: This, parent?: Parent): AsyncIterable; export declare function filter(iterable: Iterable, callbackFn: FilterFn, thisValue?: This, parent?: Parent): Iterable; export declare function asyncFilter(iterable: AsyncIterableLike, callbackFn: FilterAsyncFn, thisValue?: This, parent?: Parent): AsyncIterable;