import { Alepha, Static } from "alepha";
import { CacheProvider } from "alepha/cache";
import { RedisProvider } from "alepha/redis";
//#region ../../src/cache/redis/providers/RedisCacheProvider.d.ts
/**
 * Redis cache configuration atom.
 */
declare const redisCacheOptions: import("alepha").Atom<import("zod").ZodObject<{
  prefix: import("zod").ZodOptional<import("zod").ZodString>;
}, import("zod/v4/core").$strip>, "alepha.cache.redis.options">;
type RedisCacheOptions = Static<typeof redisCacheOptions.schema>;
declare module "alepha" {
  interface State {
    [redisCacheOptions.key]: RedisCacheOptions;
  }
}
declare class RedisCacheProvider extends CacheProvider {
  protected readonly log: import("alepha/logger").Logger;
  protected readonly redisProvider: RedisProvider;
  protected readonly options: Readonly<{
    prefix?: string | undefined;
  }>;
  protected readonly alepha: Alepha;
  get(name: string, key: string): Promise<Uint8Array | undefined>;
  set(name: string, key: string, value: Uint8Array | string, ttl?: number): Promise<Uint8Array>;
  del(name: string, ...keys: string[]): Promise<void>;
  has(name: string, key: string): Promise<boolean>;
  keys(name: string, filter?: string): Promise<string[]>;
  clear(): Promise<void>;
  incr(name: string, key: string, amount: number): Promise<number>;
  protected prefix(...path: string[]): string;
}
//#endregion
//#region ../../src/cache/redis/index.d.ts
/**
 * Plugin for Alepha Cache that provides Redis caching capabilities.
 *
 * @see {@link RedisCacheProvider}
 * @module alepha.cache.redis
 */
declare const AlephaCacheRedis: import("alepha").Service<import("alepha").Module>;
//#endregion
export { AlephaCacheRedis, RedisCacheOptions, RedisCacheProvider, redisCacheOptions };
//# sourceMappingURL=index.d.ts.map