/**
 * @module Collection
 */
import { type CrossJoinResult, type ICollection } from "../../../../collection/contracts/_module.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>>;
}
