import { Duration } from "@tsplus/stdlib/data/Duration"; import { Maybe } from "@tsplus/stdlib/data/Maybe/definition"; export declare const IntervalSym: unique symbol; export type IntervalSym = typeof IntervalSym; /** * An `Interval` represents an interval of time. Intervals can encompass all * time, or no time at all. * * @tsplus type effect/core/io/Schedule/Interval */ export interface Interval { readonly [IntervalSym]: IntervalSym; readonly startMillis: number; readonly endMillis: number; } /** * @tsplus type effect/core/io/Schedule/Interval.Ops */ export interface IntervalOps { $: IntervalAspects; } export declare const Interval: IntervalOps; /** * @tsplus type effect/core/io/Schedule/Interval.Aspects */ export interface IntervalAspects { } /** * An `Interval` of zero-width. * @tsplus static effect/core/io/Schedule/Interval.Ops empty * @tsplus location "@effect/core/io/Schedule/Interval" */ export declare const empty: Interval; /** * Constructs a new interval from the two specified endpoints. If the start * endpoint greater than the end endpoint, then a zero size interval will be * returned. * @tsplus static effect/core/io/Schedule/Interval.Ops __call * @tsplus location "@effect/core/io/Schedule/Interval" */ export declare function fromStartEndMillis(startMilliseconds: number, endMilliseconds: number): Interval; /** * @tsplus pipeable-operator effect/core/io/Schedule/Interval < * @tsplus static effect/core/io/Schedule/Interval.Aspects lessThan * @tsplus pipeable effect/core/io/Schedule/Interval lessThan * @tsplus location "@effect/core/io/Schedule/Interval" */ export declare function lessThan(that: Interval): (self: Interval) => boolean; /** * @tsplus static effect/core/io/Schedule/Interval.Aspects min * @tsplus pipeable effect/core/io/Schedule/Interval min * @tsplus location "@effect/core/io/Schedule/Interval" */ export declare function min(that: Interval): (self: Interval) => Interval; /** * @tsplus static effect/core/io/Schedule/Interval.Aspects max * @tsplus pipeable effect/core/io/Schedule/Interval max * @tsplus location "@effect/core/io/Schedule/Interval" */ export declare function max(that: Interval): (self: Interval) => Interval; /** * @tsplus getter effect/core/io/Schedule/Interval isEmpty * @tsplus location "@effect/core/io/Schedule/Interval" */ export declare function isEmpty(self: Interval): boolean; /** * @tsplus getter effect/core/io/Schedule/Interval isNonEmpty * @tsplus location "@effect/core/io/Schedule/Interval" */ export declare function isNonEmpty(self: Interval): boolean; /** * @tsplus static effect/core/io/Schedule/Interval.Aspects intersect * @tsplus pipeable effect/core/io/Schedule/Interval intersect * @tsplus location "@effect/core/io/Schedule/Interval" */ export declare function intersect(that: Interval): (self: Interval) => Interval; /** * @tsplus getter effect/core/io/Schedule/Interval size * @tsplus location "@effect/core/io/Schedule/Interval" */ export declare function size(self: Interval): Duration; /** * @tsplus static effect/core/io/Schedule/Interval.Aspects union * @tsplus pipeable effect/core/io/Schedule/Interval union * @tsplus location "@effect/core/io/Schedule/Interval" */ export declare function union(that: Interval): (self: Interval) => Maybe; /** * Construct an `Interval` that includes all time equal to and after the * specified start time. * @tsplus static effect/core/io/Schedule/Interval.Ops after * @tsplus location "@effect/core/io/Schedule/Interval" */ export declare function after(startMilliseconds: number): Interval; /** * Construct an `Interval` that includes all time equal to and before the * specified end time. * @tsplus static effect/core/io/Schedule/Interval before * @tsplus location "@effect/core/io/Schedule/Interval" */ export declare function before(endMilliseconds: number): Interval; //# sourceMappingURL=Interval.d.ts.map