import { AsyncIterableX } from '../../asynciterable/asynciterablex';
/**
 * @ignore
 */
export declare function firstProto<T, S extends T>(this: AsyncIterableX<T>, predicate: (value: T, index: number) => value is S): Promise<S | undefined>;
export declare function firstProto<T>(this: AsyncIterableX<T>, predicate?: (value: T, index: number) => boolean | Promise<boolean>): Promise<T | undefined>;
declare module '../../asynciterable/asynciterablex' {
    interface AsyncIterableX<T> {
        first: typeof firstProto;
    }
}
