import type { Fn } from "@thi.ng/api";
import type { EpochIteratorConstructor, Precision } from "./api.js";
import { DateTime } from "./datetime.js";
/**
 * Higher-order epoch iterator factory. Returns iterator with configured
 * precision and `tick` fn.
 *
 * @param prec -
 * @param tick -
 */
export declare const defIterator: (prec: Precision | Fn<number, DateTime>, tick: Fn<DateTime, void>) => EpochIteratorConstructor;
/**
 * Yields iterator of UTC timestamps in given semi-open interval in yearly
 * precision (each timestamp is at beginning of each year).
 *
 * @param from -
 * @param to -
 */
export declare const years: EpochIteratorConstructor;
/**
 * Yields iterator of UTC timestamps in given semi-open interval in monthly
 * precision (each timestamp is at beginning of a month), but spaced at 3 month
 * intervals.
 *
 * @param from -
 * @param to -
 */
export declare const quarters: EpochIteratorConstructor;
/**
 * Yields iterator of UTC timestamps in given semi-open interval in monthly
 * precision (each timestamp is at beginning of each month).
 *
 * @param from -
 * @param to -
 */
export declare const months: EpochIteratorConstructor;
/**
 * Yields iterator of UTC timestamps in given semi-open interval in daily
 * precision (each timestamp is 7 days apart). As per ISO8601, weeks start on
 * Mondays.
 *
 * @param from -
 * @param to -
 */
export declare const weeks: EpochIteratorConstructor;
/**
 * Yields iterator of UTC timestamps in given semi-open interval in daily
 * precision (each timestamp is at midnight/beginning of each day).
 *
 * @param from -
 * @param to -
 */
export declare const days: EpochIteratorConstructor;
/**
 * Yields iterator of UTC timestamps in given semi-open interval in hourly
 * precision.
 *
 * @param from -
 * @param to -
 */
export declare const hours: EpochIteratorConstructor;
/**
 * Yields iterator of UTC timestamps in given semi-open interval in minute
 * precision.
 *
 * @param from -
 * @param to -
 */
export declare const minutes: EpochIteratorConstructor;
/**
 * Yields iterator of UTC timestamps in given semi-open interval in second
 * precision.
 *
 * @param from -
 * @param to -
 */
export declare const seconds: EpochIteratorConstructor;
/**
 * Yields iterator of UTC timestamps in given semi-open interval in millisecond
 * precision.
 *
 * @param from -
 * @param to -
 */
export declare const milliseconds: EpochIteratorConstructor;
//# sourceMappingURL=iterators.d.ts.map