/**
 * This class inherits statesInMemoryFileDB class and adds socket.io communication layer
 * to access the methods via socket.io
 */
export class StatesInMemoryServer extends StatesInMemoryJsonlDB {
    /**
     * Constructor
     *
     * @param settings State and InMem-DB settings
     */
    constructor(settings: any);
    serverConnections: {};
    namespaceStates: string;
    namespaceMsg: string;
    namespaceLog: string;
    namespaceSession: string;
    namespaceMsgLen: number;
    namespaceLogLen: number;
    metaNamespace: string;
    metaNamespaceLen: number;
    /**
     * Separate Namespace from ID and return both
     *
     * @param idWithNamespace ID or Array of IDs containing a redis namespace and the real ID
     * @returns Object with namespace and the
     *                                                      ID/Array of IDs without the namespace
     */
    _normalizeId(idWithNamespace: any): {
        id: any;
        namespace: string;
    };
    /**
     * Publish a subscribed value to one of the redis connections in redis format
     *
     * @param client Instance of RedisHandler
     * @param type Type of subscribed key
     * @param id Subscribed ID
     * @param obj Object to publish
     * @returns Publish counter 0 or 1 depending if send out or not
     */
    publishToClients(client: any, type: any, id: any, obj: any): 0 | 1;
    /**
     * Register all event listeners for Handler and implement the relevant logic
     *
     * @param handler RedisHandler instance
     */
    _socketEvents(handler: any): void;
    /**
     * Return connected RedisHandlers/Connections
     *
     * @returns
     */
    getClients(): {};
    /**
     * Initialize RedisHandler for a new network connection
     *
     * @param socket Network socket
     */
    _initSocket(socket: any): void;
    /**
     * Initialize Redis Server
     *
     * @param settings Settings object
     * @returns
     */
    _initRedisServer(settings: any): Promise<any>;
    server: net.Server | undefined;
}
import { StatesInMemoryJsonlDB } from './statesInMemJsonlDB.js';
import net from 'node:net';
//# sourceMappingURL=statesInMemServerRedis.d.ts.map