/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import * as Redis from "ioredis"; /** * Represents an interface for managing creation, * and authentication with a Redis client. */ export interface IRedisClientConnectionManager { /** * @returns The Redis client. */ getRedisClient(): Redis.default | Redis.Cluster; /** * Adds an error handler to the Redis client, which will print telemetry when an error is encountered. * * @param lumberProperties - Lumber properties to be added to the telemetry. * @param errorMessage - The error message to be printed when an error is encountered. * @param additionalLoggingFunctionality - A lambda function that adds additional error handling and/or logging behavior. * If this lambda returns true it will completely override the existing error handling/logging, otherwise it will do both. */ addErrorHandler(lumberProperties?: Record, errorMessage?: string, additionalLoggingFunctionality?: (error: Error) => boolean): void; } export declare class RedisClientConnectionManager implements IRedisClientConnectionManager { private readonly enableVerboseErrorLogging; private client; private readonly redisOptions; private readonly enableClustering; private readonly slotsRefreshTimeout; private readonly retryDelays; constructor(redisOptions?: Partial, redisConfig?: any, enableClustering?: boolean, slotsRefreshTimeout?: number, retryDelays?: { retryDelayOnFailover: number; retryDelayOnClusterDown: number; retryDelayOnTryAgain: number; retryDelayOnMoved: number; maxRedirections?: number; }, enableVerboseErrorLogging?: boolean); private authenticateAndCreateRedisClient; getRedisClient(): Redis.default | Redis.Cluster; private redactArg; addErrorHandler(lumberProperties?: Record, errorMessage?: string, additionalLoggingFunctionality?: (error: Error) => boolean): void; } //# sourceMappingURL=redisClientConnectionManager.d.ts.map