import { type IRPCManager } from "../../common/rpc/IRPCManager";
import { type RagePlayer } from "../../../entities/ragemp/player/RagePlayer";
import { type IClientRPCList, type IServerRPCList } from "../../../../shared/net/common/rpc/types";
export declare class RageRPCManager implements IRPCManager {
    register<K extends keyof IServerRPCList>(rpcName: K, handler: (player: RagePlayer, ...args: Parameters<IServerRPCList[K]>) => ReturnType<IServerRPCList[K]>): void;
    unregister<K extends keyof IServerRPCList>(rpcName: K): void;
    emitClient<K extends keyof IClientRPCList>(player: RagePlayer, rpcName: K, ...args: Parameters<IClientRPCList[K]>): Promise<ReturnType<IClientRPCList[K]>>;
}
