import { IO } from '@typed/lambda'; import { Resume } from './Resume'; /** * A computation that has all capabilities supplied */ export interface Pure { (capabilities: C): Resume; } /** * Generic type for computations that depend on capabilities * from the environment. */ export interface Env { (capabilities: C): Resume; } /** * Extracts the capabilities required to satisfy an environment */ export declare type CapabilitiesOf = A extends Env ? R : never; /** * Get the return value of an Env */ export declare type ValueOf = A extends Env ? R : A extends Pure ? R : never; export declare namespace Pure { const of: (value: A) => Pure; const fromIO: (io: IO) => Pure; } //# sourceMappingURL=Env.d.ts.map