import { IterableX } from '../../iterable/iterablex';
/**
 * @ignore
 */
export declare function singleProto<T, S extends T>(this: IterableX<T>, predicate: (value: T, index: number) => value is S): S | undefined;
export declare function singleProto<T>(this: IterableX<T>, predicate?: (value: T, index: number) => boolean): T | undefined;
declare module '../../iterable/iterablex' {
    interface IterableX<T> {
        single: typeof singleProto;
    }
}
