import { Effect } from "@effect/core/io/Effect/definition"; import { Duration } from "@tsplus/stdlib/data/Duration"; import { Tag } from "@tsplus/stdlib/service/Tag"; import { Lazy } from "@tsplus/stdlib/data/Function"; export declare const ClockSym: unique symbol; export type ClockSym = typeof ClockSym; /** * @tsplus type effect/core/io/Clock */ export interface Clock { readonly [ClockSym]: ClockSym; readonly currentTime: Effect; readonly unsafeCurrentTime: number; readonly scheduler: Effect; readonly sleep: (duration: Duration) => Effect; } /** * @tsplus type effect/core/io/Clock.Ops */ export interface ClockOps { Scheduler: SchedulerOps; Tag: Tag; } export declare const Clock: ClockOps; /** * @tsplus type effect/core/io/Clock.Aspects */ export interface ClockAspects { } /** * @tsplus type effect/core/io/Clock/Scheduler.Ops */ export interface SchedulerOps { } export declare namespace Clock { type CancelToken = Lazy; /** * @tsplus type effect/core/io/Clock/Scheduler */ interface Scheduler { readonly unsafeSchedule: (task: () => void, duration: Duration) => CancelToken; } } /** * @tsplus static effect/core/io/Clock.Ops MAX_TIMER_MILLIS * @tsplus location "@effect/core/io/Clock/definition" */ export declare const MAX_TIMER_MILLIS: number; /** * @tsplus static effect/core/io/Clock/Scheduler.Ops globalScheduler * @tsplus location "@effect/core/io/Clock/definition" */ export declare const globalScheduler: Clock.Scheduler; //# sourceMappingURL=definition.d.ts.map