import { IterableX } from '../iterablex';
import { MonoTypeOperatorFunction } from '../../interfaces';
export declare class DistinctIterable<TSource, TKey> extends IterableX<TSource> {
    private _source;
    private _keySelector;
    private _cmp;
    constructor(source: Iterable<TSource>, keySelector: (value: TSource) => TKey, cmp: (x: TKey, y: TKey) => boolean);
    [Symbol.iterator](): Generator<TSource, void, unknown>;
}
export declare function distinct<TSource, TKey>(keySelector?: (value: TSource) => TKey, comparer?: (x: TKey, y: TKey) => boolean): MonoTypeOperatorFunction<TSource>;
