import { Static } from "alepha";
import { QueueProvider } from "alepha/queue";
import { RedisProvider } from "alepha/redis";
//#region ../../src/queue/redis/providers/RedisQueueProvider.d.ts
/**
 * Redis queue configuration atom.
 */
declare const redisQueueOptions: import("alepha").Atom<import("zod").ZodObject<{
  prefix: import("zod").ZodString;
}, import("zod/v4/core").$strip>, "alepha.queue.redis.options">;
type RedisQueueOptions = Static<typeof redisQueueOptions.schema>;
declare module "alepha" {
  interface State {
    [redisQueueOptions.key]: RedisQueueOptions;
  }
}
declare class RedisQueueProvider implements QueueProvider {
  protected readonly options: Readonly<{
    prefix: string;
  }>;
  protected readonly redisProvider: RedisProvider;
  prefix(queue: string): string;
  push(queue: string, message: string): Promise<void>;
  pop(queue: string): Promise<string | undefined>;
}
//#endregion
//#region ../../src/queue/redis/index.d.ts
/**
 * Plugin for Alepha Queue that provides Redis queue capabilities.
 *
 * @see {@link RedisQueueProvider}
 * @module alepha.queue.redis
 */
declare const AlephaQueueRedis: import("alepha").Service<import("alepha").Module>;
//#endregion
export { AlephaQueueRedis, RedisQueueOptions, RedisQueueProvider, redisQueueOptions };
//# sourceMappingURL=index.d.ts.map