import { OperatorAsyncFunction } from '../../interfaces.js'; /** * Creates a buffer with a shared view over the source sequence, causing each iterator to fetch the next element * from the source sequence. * * @template TSource Source sequence element type. * @returns {OperatorAsyncFunction} Buffer enabling each enumerator to retrieve elements from the shared source sequence. */ export declare function share(): OperatorAsyncFunction; /** * Shares the source sequence within a selector function where each iterator can fetch the next element from the * source sequence. * * @template TSource Source sequence element type. * @template TResult Result sequence element type. * @param {(( * value: AsyncIterable, * signal?: AbortSignal * ) => AsyncIterable | Promise>)} [selector] Selector function with shared access * to the source sequence for each iterator. * @returns {OperatorAsyncFunction} Sequence resulting from applying the selector function to the * shared view over the source sequence. */ export declare function share(selector?: (value: AsyncIterable, signal?: AbortSignal) => AsyncIterable | Promise>): OperatorAsyncFunction;