import Redis from "ioredis";
/**
 * Configuración de Redis para el sistema
 */
export interface RedisConfig {
    /** URL de conexión a Redis */
    url?: string;
    /** Host de Redis */
    host?: string;
    /** Puerto de Redis */
    port?: number;
    /** Password de Redis */
    password?: string;
    /** Base de datos de Redis */
    db?: number;
    /** Configuraciones adicionales */
    options?: {
        /** Número máximo de reintentos (null para BullMQ) */
        maxRetriesPerRequest?: number | null;
        /** Timeout de conexión */
        connectTimeout?: number;
        /** Timeout de comandos */
        commandTimeout?: number;
        /** Prefijo para las keys */
        keyPrefix?: string;
    };
}
/**
 * Cliente Redis singleton
 */
export declare class RedisClient {
    private static instance;
    private redis;
    private config;
    private constructor();
    /**
     * Obtiene la instancia singleton del cliente Redis
     */
    static getInstance(config?: RedisConfig): RedisClient;
    /**
     * Obtiene el cliente Redis
     */
    getClient(): Redis;
    /**
     * Crea una conexión Redis específica para BullMQ (sin keyPrefix)
     */
    createBullMQConnection(): Redis;
    /**
     * Conecta al servidor Redis
     */
    connect(): Promise<void>;
    /**
     * Desconecta del servidor Redis
     */
    disconnect(): Promise<void>;
    /**
     * Verifica si la conexión está activa
     */
    isConnected(): boolean;
    /**
     * Obtiene información del servidor Redis
     */
    getInfo(): Promise<any>;
    /**
     * Configura los event listeners para el cliente Redis
     */
    private setupEventListeners;
    /**
     * Parsea la información del servidor Redis
     */
    private parseRedisInfo;
}
/**
 * Configuración por defecto de Redis
 */
export declare const defaultRedisConfig: RedisConfig;
/**
 * Función helper para crear configuración Redis desde configuración global
 */
export declare function createRedisConfigFromGlobal(): RedisConfig;
//# sourceMappingURL=redis-config.d.ts.map