import { Predicate } from '../operators';
/**
 * Finds the first item in an `array` that matches a `predicate`,
 * or `undefined` if no match is found.
 * @param array Array to look in.
 * @param predicate Function that determines whether or not an item is a match.
 */
export declare function find<T>(array: T[], predicate: Predicate<T>): T | undefined;
/**
 * Returns a function that
 * finds the first item in an `array` that matches a `predicate`,
 * or `undefined` if no match is found.
 * @param predicate Function that determines whether or not an item is a match.
 */
export declare function find<T>(predicate: Predicate<T>): typeof deferred;
/**
 * Finds the first item in an `array` that matches a previously specified `predicate`,
 * or `undefined` if no match is found.
 * @param array Array to look in.
 */
declare function deferred<T>(array: T[]): T | undefined;
export {};
