///
///
import * as cluster from 'cluster';
import * as Hub from 'cluster-hub';
import { ClusterHubModuleOptions } from './interfaces/cluster-hub-module-options.interface';
export declare class ClusterHub extends Hub {
private options?;
private static instance;
private ring;
private locals;
private numWorkers;
private numWorkersReady;
private workersReadyCallback?;
constructor(options?: ClusterHubModuleOptions);
static getInstance(options?: ClusterHubModuleOptions): ClusterHub;
sendToWorker(worker: cluster.Worker | string, type: string, data?: any): boolean;
requestWorker(worker: cluster.Worker | string, type: string, data?: any, callback?: Hub.Callback): boolean;
get(key: string, callback?: Hub.Callback): boolean;
set(key: string, value: any, callback?: Hub.Callback): boolean;
getWorker(key: string): cluster.Worker;
getWorkers(): NodeJS.Dict;
waitWorkers(callback: () => void): void;
private setupWorkers;
private setupLocals;
}