import { RedisOptions } from "../../redis/RedisOptions"; export interface SentinelAddress { port: number; host: string; family?: number; } export interface RedisClient { options: RedisOptions; sentinel(subcommand: "sentinels", name: string): Promise; sentinel(subcommand: "get-master-addr-by-name", name: string): Promise; sentinel(subcommand: "slaves", name: string): Promise; subscribe(...channelNames: string[]): Promise; on(event: "message", callback: (channel: string, message: string) => void): void; on(event: "error", callback: (error: Error) => void): void; on(event: "reconnecting", callback: () => void): void; disconnect(): void; } export interface Sentinel { address: Partial; client: RedisClient; }