export declare type Predicate<T> = (value: T, index: number) => boolean;
export declare function find<T>(iterator: Iterable<T> | null | undefined, predicate: Predicate<T>): T | undefined;
export declare function reduce<T, U>(iterator: Iterable<T> | null | undefined, initial: U, reducer: (agg: U, item: T, index: number) => U): U;
export declare function head<T>(iterator: Iterable<T> | null | undefined): T | undefined;
