import { ClusterNode, ClusterOptions, RedisOptions } from 'ioredis';
import { IRoomCache, MatchMakerDriver, SortOptions } from '@colyseus/core';
import { RoomData } from './RoomData.js';
export declare class RedisDriver implements MatchMakerDriver {
    private readonly _client;
    constructor(options?: number | string | RedisOptions | ClusterNode[], clusterOptions?: ClusterOptions);
    createInstance(initialValues?: Partial<IRoomCache>): RoomData;
    has(roomId: string): Promise<boolean>;
    query(conditions: Partial<IRoomCache>, sortOptions?: SortOptions): Promise<RoomData[]>;
    cleanup(processId: string): Promise<void>;
    findOne(conditions: Partial<IRoomCache>, sortOptions?: SortOptions): Promise<RoomData>;
    private _concurrentRoomCacheRequest?;
    private _roomCacheRequestByName;
    private getRooms;
    shutdown(): Promise<void>;
    clear(): void;
}
