import { Static, TSchema } from '@sidewinder/type'; import { Receiver } from '@sidewinder/channel'; import { Cluster, Redis, RedisOptions } from 'ioredis'; /** Redis Receiver. This type uses multi sender, single receiver semantics. */ export declare class RedisReceiver implements Receiver> { #private; private readonly schema; private readonly channel; private readonly redis; constructor(schema: T, channel: string, redis: Cluster | Redis); /** Async iterator for this Receiver */ [Symbol.asyncIterator](): AsyncGenerator> & undefined> | Awaited> & {}>, void, unknown>; /** Reads the next value from this Receiver */ next(): Promise | null>; /** Closes this receiver */ close(): void; private encodeKey; /** Creates a RedisReceiver with the given parameters */ static Create(schema: T, channel: string, port?: number, host?: string, options?: RedisOptions): Promise>; /** Creates a RedisReceiver with the given parameters */ static Create(schema: T, channel: string, host?: string, options?: RedisOptions): Promise>; /** Creates a RedisReceiver with the given parameters */ static Create(schema: T, channel: string, options: RedisOptions): Promise>; }