import { Context, Effect, Layer, Option } from "effect-app"; import type { RedisClient as Client } from "redis"; import Redlock from "redlock"; declare const ConnectionException_base: new = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & { readonly _tag: "ConnectionException"; } & Readonly; export declare class ConnectionException extends ConnectionException_base<{ cause: Error; message: string; }> { constructor(cause: Error); } export declare const makeRedisClient: (makeClient: () => Client) => Effect.Effect<{ client: Client; lock: Redlock; get: (key: string) => Effect.Effect, ConnectionException, never>; hget: (key: string, field: string) => Effect.Effect, ConnectionException, never>; hset: (key: string, field: string, value: string) => Effect.Effect; hmgetAll: (key: string) => Effect.Effect, ConnectionException, never>; set: (key: string, val: string) => Effect.Effect; }, never, import("effect/Scope").Scope>; declare const RedisClient_base: Context.ServiceClass Effect.Effect, ConnectionException>; readonly hget: (key: string, field: string) => Effect.Effect, ConnectionException>; readonly hset: (key: string, field: string, value: string) => Effect.Effect; readonly hmgetAll: (key: string) => Effect.Effect, ConnectionException>; readonly set: (key: string, val: string) => Effect.Effect; }>; export declare class RedisClient extends RedisClient_base { } export declare const RedisClientLayer: (storageUrl: string) => Layer.Layer; export {}; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXMtY2xpZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRhcHRlcnMvcmVkaXMtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQVEsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDakUsT0FBTyxLQUFLLEVBQUUsV0FBVyxJQUFJLE1BQU0sRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUNsRCxPQUFPLE9BQU8sTUFBTSxTQUFTLENBQUE7Ozs7QUFFN0IscUJBQWEsbUJBQW9CLFNBQVEseUJBQXdDO0lBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUFDLE9BQU8sRUFBRSxNQUFNLENBQUE7Q0FBRSxDQUFDO0lBQ2pILFlBQVksS0FBSyxFQUFFLEtBQUssRUFFdkI7Q0FDRjtBQUVELGVBQU8sTUFBTSxlQUFlLGVBQWdCLE1BQU0sTUFBTTs7O2VBTzlCLE1BQU07Z0JBaUNMLE1BQU0sU0FBUyxNQUFNO2dCQVhyQixNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU07b0JBcUJoQyxNQUFNOzs7ZUFoQ1gsTUFBTSxPQUFPLE1BQU07dUNBOEQxQyxDQUFBOztxQkFHZ0IsTUFBTTttQkFDUixPQUFPO2tCQUNSLENBQUMsR0FBRyxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsbUJBQW1CLENBQUM7bUJBQ3pFLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxtQkFBbUIsQ0FBQzttQkFDekYsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxtQkFBbUIsQ0FBQzt1QkFDbkYsQ0FBQyxHQUFHLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUE7S0FBRSxDQUFDLEVBQUUsbUJBQW1CLENBQUM7a0JBQ2xHLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDOztBQVB0RixxQkFBYSxXQUFZLFNBQVEsZ0JBUUo7Q0FBRztBQUVoQyxlQUFPLE1BQU0sZ0JBQWdCLGVBQWdCLE1BQU0sMkNBQ2dCLENBQUEifQ==