import { EventEmitter } from 'events'; import type { Presence } from './Presence.ts'; type Callback = (...args: any[]) => void; export declare class LocalPresence implements Presence { subscriptions: EventEmitter<[never]>; data: { [roomName: string]: string[]; }; hash: { [roomName: string]: { [key: string]: string; }; }; keys: { [name: string]: string | number; }; private timeouts; constructor(); subscribe(topic: string, callback: (...args: any[]) => void): Promise>; unsubscribe(topic: string, callback?: Callback): this; publish(topic: string, data: any): this; channels(pattern?: string): Promise; exists(key: string): Promise; set(key: string, value: string): void; setex(key: string, value: string, seconds: number): void; expire(key: string, seconds: number): void; get(key: string): string | number; del(key: string): void; sadd(key: string, value: any): void; smembers(key: string): Promise; sismember(key: string, field: string): Promise<1 | 0>; srem(key: string, value: any): void; scard(key: string): number; sinter(...keys: string[]): Promise; hset(key: string, field: string, value: string): Promise; hincrby(key: string, field: string, incrBy: number): Promise; hincrbyex(key: string, field: string, incrBy: number, expireInSeconds: number): Promise; hget(key: string, field: string): Promise; hgetall(key: string): Promise<{ [key: string]: string; }>; hdel(key: string, field: any): Promise; hlen(key: string): Promise; incr(key: string): Promise; decr(key: string): Promise; llen(key: string): Promise; rpush(key: string, ...values: string[]): Promise; lpush(key: string, ...values: string[]): Promise; lpop(key: string): Promise; rpop(key: string): Promise; brpop(...args: [...keys: string[], timeoutInSeconds: number]): Promise<[string, string] | null>; setMaxListeners(number: number): void; shutdown(): void; } export {};