import { IterableX } from '../iterablex.js'; import { OperatorFunction } from '../../interfaces.js'; import { ScanOptions } from './scanoptions.js'; /** @ignore */ export declare class ScanIterable extends IterableX { private _source; private _fn; private _seed?; private _hasSeed; constructor(source: Iterable, options: ScanOptions); [Symbol.iterator](): Generator; } /** * Applies an accumulator function over an iterable sequence and returns each intermediate result. * The specified seed value, if given, is used as the initial accumulator value. * * @template T The type of the elements in the source sequence. * @template R The type of the result of the aggregation. * @param {ScanOptions} options The options including the accumulator function and seed. * @returns {OperatorFunction} An async-enumerable sequence containing the accumulated values. */ export declare function scan(options: ScanOptions): OperatorFunction; export declare function scan(accumulator: (accumulator: R, current: T, index: number) => R, seed?: R): OperatorFunction;