export type CollectResult = T extends ArrayBufferView ? T : T extends string ? string : T[]; export declare class EnhancedStream { readonly readable: ReadableStream; constructor(readable: ReadableStream); map(fn: (item: T) => U | Promise): EnhancedStream; filter(predicate: (item: T) => boolean | Promise): EnhancedStream; /** * Side effects. */ forEach(fn: (item: T) => void | Promise): EnhancedStream; take(n: number): EnhancedStream; skip(n: number): EnhancedStream; scan(fn: (acc: U, item: T) => U | Promise, initial: U): EnhancedStream; reduce(fn: (acc: U, item: T) => U | Promise, initial: U): Promise; find(predicate: (item: T) => boolean | Promise): Promise; some(predicate: (item: T) => boolean | Promise): Promise; every(predicate: (item: T) => boolean | Promise): Promise; toArray(): Promise; collect(): Promise>; toStream(): ReadableStream; } export interface SFunction { (readable: ReadableStream): EnhancedStream; from(iterable: Iterable | AsyncIterable): EnhancedStream; } /** * Wrap a ReadableStream with array-like chainable methods. */ export declare const S: SFunction; //# sourceMappingURL=index.d.ts.map