import type { IsomorphicIterable } from "@lou.codes/types";
/**
 * Add the given `separator` between each element of the given iterable or
 * asynchronous iterable.
 *
 * @category Asynchronous Generators
 * @example
 * ```typescript
 * const intersperseComma = intersperse(",");
 * intersperseComma([1, 2, 3]); // [1, ",", 2, ",", 3]
 * ```
 * @param separator Separator to add between each element.
 * @returns Curried function with `separator` in context.
 */
export declare const intersperse: <Separator>(
	separator: Separator,
) => <Item>(
	iterable: IsomorphicIterable<Item>,
) => import("@lou.codes/types").IsomorphicIterableIterator<
	Item | Awaited<Separator> | Awaited<Item>
>;
