/** * Returns the first element in a sequence that satisfies a specified condition if provided, else * the first element in the sequence. * @param {Iterable} source Source collection * @param {function:(value: T): boolean} [selector] An optional function to test each element for a condition. * @returns {T | undefined} The first element in the sequence that passes the test in the * specified predicate function if provided, else the first element. If there are no elements, * undefined is returned. */ export declare function first(source: Iterable, predicate: (value: T, index: number) => value is S): S | undefined; export declare function first(source: Iterable, predicate?: (value: T, index: number) => boolean): T | undefined;