import type { RedisAdapter } from './redis-adapter'; export declare interface DeduplicationConfig { enabled?: boolean ttl?: number maxSize?: number hashFunction?: (channel: string, event: string, data: unknown) => string } export declare class MessageDeduplicator { constructor(config?: DeduplicationConfig, redis?: RedisAdapter); isDuplicate(channel: string, event: string, data: unknown, messageId?: string): Promise; clear(): Promise; getStats(): { enabled: boolean cacheSize: number ttl: number usingRedis: boolean }; stop(): void; }