import type {
	Initial,
	IsomorphicIterableItem,
	ReadOnlyArray,
	ReadOnlyIterable,
	ReadOnlyIterableIterator,
} from "@lou.codes/types";
/**
 * Get all elements except the last one of an iterable.
 *
 * @category Generators
 * @example
 * ```typescript
 * initial([1, 2, 3]); // [1, 2]
 * ```
 * @param iterable Iterable to get the items from.
 * @returns Iterable with all items except the last one.
 */
export declare const initial: <Iterable extends ReadOnlyIterable>(
	iterable: Iterable,
) => ReadOnlyIterableIterator<
	Iterable extends ReadOnlyArray ? Initial<Iterable>[number]
	:	IsomorphicIterableItem<Iterable>
>;
