import { DateTime, IRunNextArgs } from '@rschedule/core'; import { IRunArgs, OccurrenceGenerator, OccurrenceGeneratorRunResult, } from '../occurrence-generator'; /** * Simple class that lets us access the `value`, `runArgs`, and `done` * status of an OccurrenceGenerator iterator */ export declare class IterableWrapper { readonly runArgs: IRunArgs; done: boolean; value: DateTime | undefined; readonly stream: OccurrenceGeneratorRunResult; constructor(generator: OccurrenceGenerator, runArgs: IRunArgs); next( args?: IRunNextArgs, ): { done: boolean | undefined; value: DateTime | undefined; }; } export declare function processYieldArgs( streams: IterableWrapper[], options?: { reverse?: boolean; }, yieldArgs?: IRunNextArgs, ): void; /** sorts ascending with completed iterables at the end */ export declare function streamsComparer( a: IterableWrapper, b: IterableWrapper, ): 0 | 1 | -1; /** sorts descending with completed iterables at the start */ export declare function streamsReverseComparer( a: IterableWrapper, b: IterableWrapper, ): 0 | 1 | -1; export declare function selectNextIterable( streams: IterableWrapper[], options?: { reverse?: boolean; }, yieldArgs?: IRunNextArgs, ): IterableWrapper | undefined; export declare function selectLastIterable( streams: IterableWrapper[], options?: { reverse?: boolean; }, yieldArgs?: IRunNextArgs, ): IterableWrapper | undefined; export declare function streamPastEnd( stream: IterableWrapper, options: { reverse?: boolean; start?: DateTime; end?: DateTime; }, ): boolean; export declare function streamPastSkipToDate( stream: IterableWrapper, skipToDate: DateTime, options: { reverse?: boolean; }, ): boolean;