import { AnyIterable } from 'augmentative-iterable'; /** * An operation that returns an AsyncIterable */ export type AsyncIterableOperation = (this: AsyncIterable, ...args: any[]) => AsyncIterable | PromiseLike>; /** * A resolving operation */ export type AsyncIterableResolvingOperation = (this: AsyncIterable, ...args: any[]) => PromiseLike; /** * Used to add custom methods for the next fluent async iterables created * Is recommendable to also declare the method in the interface namespace so it can be visible to typescript, like this: * ```ts * declare namespace FluentAsyncIterable { * myCustomMethod(myParams: someType): FluentAsyncIterable * } * ``` */ export declare const extendAsync: { /** * Add a method that returns another FluentAsyncIterable * @param name The name of the method * @param operation The operation to be made */ use(name: string, operation: AsyncIterableOperation): void; /** * Add a resolving method * @param name The name of the method * @param operation The resolving operation to be made */ useResolving(name: string, operation: AsyncIterableResolvingOperation): void; };