import { IStorageProvider } from "./IStorageProvider"; import { IFilterInfo } from "../IFilter"; import { IAppserviceStorageProvider } from "./IAppserviceStorageProvider"; import Redis from 'ioredis'; /** * A storage provider that uses redis to store information. * @category Storage providers */ export declare class IoRedisStorageProvider implements IStorageProvider, IAppserviceStorageProvider { private client; private trackTransactionsInMemory; private maxInMemoryTransactions; private redisHasKey; private completedTransactions; /** * Creates a new simple file system storage provider. * @param {any} client The ioredis client. * @param {boolean} trackTransactionsInMemory True (default) to track all received appservice transactions rather than on disk. * @param {int} maxInMemoryTransactions The maximum number of transactions to hold in memory before rotating the oldest out. Defaults to 20. */ constructor(client: Redis.Redis, trackTransactionsInMemory?: boolean, maxInMemoryTransactions?: number, redisHasKey?: string); setSyncToken(token: string | null): Promise; getSyncToken(): Promise; setFilter(filter: IFilterInfo): Promise; getFilter(): IFilterInfo; addRegisteredUser(userId: string): any; isUserRegistered(userId: string): boolean; isTransactionCompleted(transactionId: string): boolean; setTransactionCompleted(transactionId: string): any; getKeyValueStore(): Promise; readValue(key: string): Promise; storeValue(key: string, value: string): Promise; }