import type { Redis } from 'ioredis'; import type { GroupNotificationPublisher } from '../notifications/GroupNotificationPublisher'; import type { PublisherErrorHandler } from '../notifications/NotificationPublisher'; import type { RedisPublisherConfig } from './RedisNotificationPublisher'; export type GroupNotificationCommand = { actionId: typeof CLEAR_COMMAND | typeof DELETE_GROUP_COMMAND | typeof DELETE_FROM_GROUP_COMMAND; originUuid: string; }; export type DeleteGroupNotificationCommand = GroupNotificationCommand & { group: string; }; export type DeleteFromGroupNotificationCommand = DeleteGroupNotificationCommand & { key: string; }; export declare const CLEAR_COMMAND = "CLEAR"; export declare const DELETE_GROUP_COMMAND = "DELETE_GROUP"; export declare const DELETE_FROM_GROUP_COMMAND = "DELETE_FROM_GROUP"; export declare class RedisGroupNotificationPublisher implements GroupNotificationPublisher { readonly channel: string; readonly errorHandler: PublisherErrorHandler; private readonly redis; private readonly serverUuid; constructor(redis: Redis, config: RedisPublisherConfig); clear(): Promise; deleteFromGroup(key: string, group: string): Promise; deleteGroup(group: string): Promise; close(): Promise; subscribe(): Promise; }