/** * Set Operations Implementation * Provides Redis-compatible set operations (SADD, SREM, SMEMBERS, SISMEMBER) * Requirements: 1.12 */ import { CacheEngine } from './CacheEngine.js'; /** * SetOperations provides Redis-compatible set operations. * Sets are stored as JSON-serialized arrays of base64-encoded strings. * Uses a Set internally for O(1) membership checks. * * Requirements: * - 1.12: Support SADD, SREM, SMEMBERS, and SISMEMBER commands for set operations */ export declare class SetOperations { private readonly cacheEngine; constructor(cacheEngine: CacheEngine); /** * Serialize a Set of Buffer values to a JSON string for storage. * Each Buffer is encoded as base64. */ private serializeSet; /** * Deserialize a stored JSON string back to a Set of base64-encoded strings. */ private deserializeSet; /** * Get the current set stored at key, or an empty Set if not exists. */ private getSet; /** * Save a set to the cache. */ private saveSet; /** * Add one or more members to a set stored at key. * If the key doesn't exist, a new set is created. * * @param key - The cache key * @param members - Members to add to the set * @returns The number of members that were added (not already present) */ sadd(key: string, ...members: Buffer[]): Promise; /** * Remove one or more members from a set stored at key. * * @param key - The cache key * @param members - Members to remove from the set * @returns The number of members that were removed */ srem(key: string, ...members: Buffer[]): Promise; /** * Get all members of the set stored at key. * * @param key - The cache key * @returns Array of all members in the set */ smembers(key: string): Promise; /** * Check if a member exists in the set stored at key. * * @param key - The cache key * @param member - The member to check for * @returns true if the member exists in the set */ sismember(key: string, member: Buffer): Promise; } //# sourceMappingURL=SetOperations.d.ts.map