import { type IRPCManager } from "../../common/rpc/IRPCManager";
import { type CCMPPlayer } from "../../../entities/ccmp/player/CCMPPlayer";
import { type IClientRPCList, type IServerRPCList } from "../../../../shared/net/common/rpc/types";
export declare class CCMPRPCManager implements IRPCManager {
    register<K extends keyof IServerRPCList>(_rpcName: K, _handler: (player: CCMPPlayer, ...args: Parameters<IServerRPCList[K]>) => ReturnType<IServerRPCList[K]>): void;
    unregister<K extends keyof IServerRPCList>(_rpcName: K): void;
    emitClient<K extends keyof IClientRPCList>(_player: CCMPPlayer, _rpcName: K, ..._args: Parameters<IClientRPCList[K]>): Promise<ReturnType<IClientRPCList[K]>>;
}
