import { DateAdapter } from '../date-adapter';
import { IOccurrenceGenerator } from '../interfaces';
import { IRunArgs } from '../interfaces/runnable';
import { DateInput } from '../utilities';
export declare class OccurrenceIterator<T extends typeof DateAdapter, G extends ReadonlyArray<IOccurrenceGenerator<T>> = ReadonlyArray<IOccurrenceGenerator<T>>> {
    private iterable;
    private args;
    private readonly iterator;
    private readonly isInfinite;
    constructor(iterable: IOccurrenceGenerator<T>, args: IRunArgs);
    [Symbol.iterator]: () => IterableIterator<InstanceType<T> & {
        generators: G;
    }>;
    next(args?: {
        skipToDate?: DateInput<T>;
    }): IteratorResult<InstanceType<T> & {
        generators: G;
    }>;
    toArray(): (InstanceType<T> & {
        generators: G;
    })[];
    private _run;
    private normalizeRunArgs;
    private normalizeDateInput;
    private normalizeDateOutput;
}
export interface IOccurrencesArgs<T extends typeof DateAdapter> {
    start?: DateInput<T>;
    end?: DateInput<T>;
    take?: number;
    reverse?: boolean;
}
//# sourceMappingURL=occurrence.iterator.d.ts.map