import express from "express";
interface NodeInfo {
    instanceId: string;
    fullUrl: string;
}
export declare class ClusterHandler {
    private router;
    private clusterRouter;
    private instanceId;
    private isPrimary;
    private privateKeyToken;
    private allNodes;
    private instanceInfoStatus;
    private instanceInfos;
    private onEventCallback;
    private isSingleNode;
    setRouter(router: express.Express): void;
    setInstanceId(instanceId: string): void;
    setIsPrimary(isPrimary: boolean): void;
    getIsPrimary(): boolean;
    getIsSingleNode(): boolean;
    setPrivateKeyToken(privateKeyToken: string): void;
    setAllNodes(allNodes: NodeInfo[]): void;
    init(): void;
    run(): void;
    private callbackInvoke;
    private update;
    private checkInstanceStatus;
    private checkInstancePrimary;
    onEvent(name: string, onData: (data: any) => void): void;
    sendEvent(name: string, data?: any, includeMe?: boolean): Promise<void>;
    constructor();
}
export {};
