/**
 * Global client manager.
 *
 * Routes kick event to the process on which the client is connected.
 */
import { type TAddress, type TClientId } from '@flux/shared/types';
import { RedisConnection } from '../../routing/redis/redis-connection.class';
export declare class GlobalClientManager {
    private readonly _redisConnection;
    private readonly processAddress;
    constructor(_redisConnection: RedisConnection);
    /**
     * Sends a global message to kick a client.
     *
     * @param { TAddress } agentAddress
     *
     * @returns { Promise<void> }
     */
    kickClient(type: 'agent' | 'authority', agentAddress: TAddress): Promise<void>;
    /**
     * On event on this process.
     */
    onKickClient(type: 'agent' | 'authority', onKickCallback: (clientAddress: TClientId) => void): void;
}
