import type * as Duration from "effect/Duration"; import * as Effect from "effect/Effect"; import type * as Schema from "effect/Schema"; import type * as Scope from "effect/Scope"; import * as Persistence from "./Persistence.js"; /** * @since 1.0.0 * @category models */ export interface PersistedCache { readonly get: (key: K) => Effect.Effect, Schema.WithResult.Failure | Persistence.PersistenceError>; readonly invalidate: (key: K) => Effect.Effect; } /** * @since 1.0.0 * @category constructors */ export declare const make: (options: { readonly storeId: string; readonly lookup: (key: K) => Effect.Effect, Schema.WithResult.Failure, R>; readonly timeToLive: (...args: Persistence.ResultPersistence.TimeToLiveArgs) => Duration.DurationInput; readonly inMemoryCapacity?: number | undefined; readonly inMemoryTTL?: Duration.DurationInput | undefined; }) => Effect.Effect, never, Schema.SerializableWithResult.Context | R | Persistence.ResultPersistence | Scope.Scope>; //# sourceMappingURL=PersistedCache.d.ts.map