import type { ReadOnlyIterable } from "@lou.codes/types";
/**
 * Get a `Symbol.iterator` from an iterable.
 *
 * @category Common
 * @example
 * ```typescript
 * const iterator = getIterator([1, 2, 3]);
 * iterator.next(); // { value: 1, done: false }
 * iterator.next(); // { value: 2, done: false }
 * iterator.next(); // { value: 3, done: false }
 * iterator.next(); // { value: undefined, done: true }
 * ```
 * @param iterable Iterable to get the iterator from.
 * @returns Iterator instance.
 */
export declare const getIterator: <Iterable extends ReadOnlyIterable>(
	iterable: Iterable,
) => Iterable extends ReadOnlyIterable<infer Item> ? Iterator<Item, Item, Item>
:	never;
