/** * Iterator yielding the Cartesian Product of the given iterables. * * @remarks * All iterables MUST be finite! If any of the given iterables is * empty the iterator yields no values. * * @example * ```ts tangle:../export/permutations.ts * import { map, permutations, range } from "@thi.ng/transducers"; * * console.log( * [...permutations("ab", range(3))] * ); * // [ ['a', 0], ['a', 1], ['a', 2], * // ['b', 0], ['b', 1], ['b', 2] ] * * console.log( * [...map((x: any[]) => x.join(""), permutations("ab", "-", range(3)))] * ); * // ['a-0', 'a-1', 'a-2', 'b-0', 'b-1', 'b-2'] * * console.log( * [...permutations([], "", range(0))] * ); * // [] * ``` * * @param a - */ export declare function permutations(a: Iterable): IterableIterator<[A]>; export declare function permutations(a: Iterable, b: Iterable): IterableIterator<[A, B]>; export declare function permutations(a: Iterable, b: Iterable, c: Iterable): IterableIterator<[A, B, C]>; export declare function permutations(a: Iterable, b: Iterable, c: Iterable, d: Iterable): IterableIterator<[A, B, C, D]>; export declare function permutations(...src: Iterable[]): IterableIterator; /** * Iterator yielding the Cartesian Product for `n` items of `m` values * each. * * @remarks * If `m` is not given, defaults to value of `n`. The range of `m` is * `0..m-1`. The optional `offsets` array can be used to define start * values for each dimension. * * @example * ```ts tangle:../export/permutations-n.ts * import { permutationsN } from "@thi.ng/transducers"; * * console.log( * [...permutationsN(2)] * ); * // [ [0, 0], [0, 1], [1, 0], [1, 1] ] * * console.log( * [...permutationsN(2, 3)] * ); * // [ [0, 0], [0, 1], [0, 2], * // [1, 0], [1, 1], [1, 2], * // [2, 0], [2, 1], [2, 2] ] * * console.log( * [...permutationsN(2, 2, [10, 20])] * ); * // [ [ 10, 20 ], [ 10, 21 ], [ 11, 20 ], [ 11, 21 ] ] * ``` * * @param n - * @param m - * @param offsets - */ export declare const permutationsN: (n: number, m?: number, offsets?: number[]) => IterableIterator; //# sourceMappingURL=permutations.d.ts.map