import { OnModuleInit } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import { InMemoryService } from './in-memory.service';
export declare class RedisService implements OnModuleInit {
    private configService;
    private inMemoryService;
    private useRedis;
    private redisClient;
    constructor(configService: ConfigService, inMemoryService: InMemoryService);
    onModuleInit(): Promise<void>;
    private checkRedisAvailability;
    set(key: string, value: any, ttl?: number): Promise<void>;
    get<T>(key: string): Promise<T | null>;
    del(key: string): Promise<void>;
    exists(key: string): Promise<boolean>;
    pushToList(key: string, value: any, maxLength?: number): Promise<void>;
    getList<T>(key: string, start?: number, end?: number): Promise<T[]>;
    getListLength(key: string): Promise<number>;
    setHash(key: string, field: string, value: any): Promise<void>;
    getHash<T>(key: string, field: string): Promise<T | null>;
    getAllHash<T>(key: string): Promise<Record<string, T>>;
    generateId(prefix: string): Promise<string>;
    getSessionKey(sessionId: string): string;
    getMessagesKey(sessionId: string): string;
    getUserSessionsKey(userId?: string): string;
    getStats(): Promise<{
        storageSize: number;
        listsSize: number;
        hashesSize: number;
    }>;
}
