import { Static, TSchema } from '@sidewinder/type'; import { Store } from '../store/index'; /** * A RedisSet is analogous to a JavaScript Set. It provides asynchronous add, delete and has methods * which are executed in a unqiue keyspace. The RedisSet supports arbituary object hashing allowing * JavaScript objects and arrays to be safely added to sets. */ export declare class RedisSet { #private; private readonly schema; private readonly store; private readonly keyspace; constructor(schema: T, store: Store, keyspace: string); /** Async iterator for this Set */ [Symbol.asyncIterator](): AsyncGenerator>, void, unknown>; /** Clears this Set */ clear(): Promise; /** Returns true if this value is in the Set */ has(value: Static): Promise; /** Adds the given value to the Set */ add(value: Static): Promise; /** Deletes the given value from the Set */ delete(value: Static): Promise; /** Sets a value to expire after the given seconds have elapsed */ expire(value: Static, seconds: number): Promise; /** Returns the number of entries in this Set */ size(): Promise; /** Returns all keys in this Set */ keys(): Promise; /** Returns all values in this Set */ values(): Promise[]>; private encodeAllKeys; private encodeKey; private decodeKey; }