import * as T from "../effect.js"; export declare type Decision = Done | Continue; export declare type Interval = number; export declare type StepFunction = (interval: Interval, inp: Inp) => T.Effect>; export declare class Done { readonly out: Out; readonly _tag = "Done"; constructor(out: Out); } export declare class Continue { readonly out: Out; readonly interval: Interval; readonly next: StepFunction; readonly _tag = "Continue"; constructor(out: Out, interval: Interval, next: StepFunction); } export declare function makeDone(o: Out): Decision; export declare function makeContinue(out: Out, interval: Interval, next: StepFunction): Decision; export declare function toDone(self: Decision): Done; export declare function map(f: (o: Out) => Out1): (self: Decision) => Decision; export declare function contramap(f: (i: Inp1) => Inp): (self: Decision) => Decision; export declare function as(o: Out1): (self: Decision) => Decision; export declare function done(a: A): StepFunction; //# sourceMappingURL=index.d.ts.map