/**
 * Route messages to the correct process if necessary.
 */
import { type TCallbackFunction, type TProcessAddress } from '@flux/shared/types';
export declare class ProcessMessageRouter {
    private readonly machineAddress;
    private readonly processAddress;
    private readonly processId;
    private readonly redisConnection;
    private readonly localCallbacks;
    /**
     * Sends a message to a process.
     *
     * @param { TProcessAddress } address - The destination process address
     * @param { string } message - The message to route
     */
    message(address: TProcessAddress, message: string): void;
    /**
     * Subscribes to messages for the local process.
     *
     * @param { TCallbackFunction } onMessage - Callback to invoke when a message is received
     */
    subscribe(onMessage: TCallbackFunction): void;
}
