import type { AnyRequest, Request } from './Request'; import type { HashMap } from '@principia/base/HashMap'; import type { _A, _E } from '@principia/base/prelude'; import type { URef } from '@principia/base/Ref'; import * as E from '@principia/base/Either'; import * as I from '@principia/base/IO'; import * as M from '@principia/base/Maybe'; export interface Cache { get(request: A): I.FIO, _A>>>>; lookup(request: A): I.UIO, _A>>>, URef, _A>>>>>; put(request: A, result: URef, _A>>>): I.UIO; } export declare class DefaultCache implements Cache { private state; constructor(state: URef>); get(request: Request): I.FIO>>>; lookup(request: Request): I.UIO>>, URef>>>>; put(request: Request, result: URef>>): I.UIO; } export declare const empty: I.UIO; //# sourceMappingURL=Cache.d.ts.map