import { _Env, _In, _Out, _State } from "@effect/core/io/Schedule/definition" export const DriverSym = Symbol.for("@effect/core/io/Schedule/Driver") export type DriverSym = typeof DriverSym /** * @tsplus type effect/core/io/Schedule/Driver * @tsplus companion effect/core/io/Schedule/Driver.Ops */ export class Driver { readonly [DriverSym]: DriverSym = DriverSym readonly [_Env]!: (_: Env) => void readonly [_In]!: (_: In) => void readonly [_Out]!: () => Out readonly [_State]!: unknown constructor( readonly next: (input: In) => Effect, Out>, readonly last: Effect, readonly reset: Effect, readonly state: Effect ) {} } /** * @tsplus static effect/core/io/Schedule/Driver.Ops __call */ export function make( next: (input: In) => Effect, Out>, last: Effect, reset: Effect, state: Effect ): Driver { return new Driver(next, last, reset, state) }