export type UndefIterator<T> = () => undefined | T;
export declare class UndefEndIter<T> implements IterableIterator<T> {
    private readonly i;
    constructor(i: UndefIterator<T>);
    next(): IteratorResult<T, T>;
    [Symbol.iterator](): this;
}
export declare class IterRes<T> {
    readonly value: T;
    readonly done: boolean;
    constructor(value: T, done: boolean);
}
export declare const iter: <T>(i: UndefIterator<T>) => UndefEndIter<T>;
