import { List } from "@tsplus/stdlib/collections/List/definition"; import { Interval } from "@effect/core/io/Schedule/Interval"; export declare const IntervalsSym: unique symbol; export type IntervalsSym = typeof IntervalsSym; /** * Intervals represents a set of intervals. * * @tsplus type effect/core/io/Schedule/Intervals */ export interface Intervals { readonly [IntervalsSym]: IntervalsSym; readonly intervals: List; } /** * @tsplus type effect/core/io/Schedule/Intervals.Ops */ export interface IntervalsOps { $: IntervalsAspects; } export declare const Intervals: IntervalsOps; /** * @tsplus type effect/core/io/Schedule/Intervals.Aspects */ export interface IntervalsAspects { } /** * @tsplus static effect/core/io/Schedule/Intervals.Ops __call * @tsplus static effect/core/io/Schedule/Intervals.Ops make * @tsplus location "@effect/core/io/Schedule/Intervals" */ export declare function make(intervals: List): Intervals; /** * The empty set of intervals. * @tsplus static effect/core/io/Schedule/Intervals.Ops empty * @tsplus location "@effect/core/io/Schedule/Intervals" */ export declare const empty: Intervals; /** * Constructs a set of intervals from the specified intervals. * @tsplus static effect/core/io/Schedule/Intervals.Ops fromIntervals * @tsplus location "@effect/core/io/Schedule/Intervals" */ export declare function fromIntervals(...intervals: Array): Intervals; /** * Produces the union of this set of intervals and the specified set of intervals. * @tsplus pipeable-operator effect/core/io/Schedule/Intervals || * @tsplus static effect/core/io/Schedule/Intervals.Aspects union * @tsplus pipeable effect/core/io/Schedule/Intervals union * @tsplus location "@effect/core/io/Schedule/Intervals" */ export declare function union(that: Intervals): (self: Intervals) => Intervals; /** * Produces the intersection of this set of intervals and the specified set of intervals. * @tsplus pipeable-operator effect/core/io/Schedule/Intervals && * @tsplus static effect/core/io/Schedule/Intervals.Aspects intersect * @tsplus pipeable effect/core/io/Schedule/Intervals intersect * @tsplus location "@effect/core/io/Schedule/Intervals" */ export declare function intersect(that: Intervals): (self: Intervals) => Intervals; /** * The start of the earliest interval in this set. * @tsplus static effect/core/io/Schedule/Intervals.Ops start * @tsplus getter effect/core/io/Schedule/Intervals start * @tsplus location "@effect/core/io/Schedule/Intervals" */ export declare function start(self: Intervals): number; /** * The end of the latest interval in this set. * @tsplus static effect/core/io/Schedule/Intervals.Ops end * @tsplus getter effect/core/io/Schedule/Intervals end * @tsplus location "@effect/core/io/Schedule/Intervals" */ export declare function end(self: Intervals): number; /** * Whether the start of this set of intervals is before the start of the * specified set of intervals. * @tsplus pipeable-operator effect/core/io/Schedule/Intervals < * @tsplus static effect/core/io/Schedule/Intervals.Aspects lessThan * @tsplus pipeable effect/core/io/Schedule/Intervals lessThan * @tsplus location "@effect/core/io/Schedule/Intervals" */ export declare function lessThan(that: Intervals): (self: Intervals) => boolean; /** * Returns whether this set of intervals is empty. * @tsplus getter effect/core/io/Schedule/Intervals isNonEmpty * @tsplus location "@effect/core/io/Schedule/Intervals" */ export declare function isNonEmpty(self: Intervals): boolean; /** * The set of intervals that starts last. * @tsplus static effect/core/io/Schedule/Intervals.Aspects max * @tsplus pipeable effect/core/io/Schedule/Intervals max * @tsplus location "@effect/core/io/Schedule/Intervals" */ export declare function max(that: Intervals): (self: Intervals) => Intervals; //# sourceMappingURL=Intervals.d.ts.map