/**
 * @module Collection
 */
import type { CrossJoinResult, ICollection } from "../../../../collection/contracts/_module-exports.js";
/**
 * @internal
 */
export declare class CrossJoinIterable<TInput, TExtended = TInput> implements Iterable<CrossJoinResult<TInput, TExtended>> {
    private readonly collection;
    private readonly iterable;
    private readonly makeCollection;
    constructor(collection: ICollection<TInput>, iterable: Iterable<TExtended>, makeCollection: <TInput>(iterable: Iterable<TInput>) => ICollection<TInput>);
    [Symbol.iterator](): Iterator<CrossJoinResult<TInput, TExtended>>;
}
