import { OnModuleDestroy } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import Redis from 'ioredis';
export declare const LIVE_LOCATION_PREFIX = "live:location:";
export declare const LIVE_TRIP_PREFIX = "live:trip:";
export declare const EMPLOYEE_PRESENCE_PREFIX = "presence:";
export declare class RedisService implements OnModuleDestroy {
    private readonly logger;
    private readonly memory;
    readonly client: Redis | null;
    readonly enabled: boolean;
    constructor(cfg: ConfigService);
    onModuleDestroy(): Promise<void>;
    private useClient;
    private memoryGet;
    private memorySet;
    setJson<T>(key: string, value: T, ttlSeconds?: number): Promise<void>;
    getJson<T>(key: string): Promise<T | null>;
    setLiveLocation(userId: string, data: Record<string, unknown>, ttlSeconds?: number): Promise<void>;
    getLiveLocation(userId: string): Promise<Record<string, unknown> | null>;
    getAllLiveLocations(): Promise<Array<{
        userId: string;
        data: Record<string, unknown>;
    }>>;
}
