import { ConfiguredRPCEmit, RPCAsync, RPCAsyncContainerDictionary, RPCConfig } from './interfaces';
export declare function validateRegistration<T>(callbacks: RPCAsyncContainerDictionary, asyncFn: RPCAsync<T>, type: number, uid: string): void;
export declare function registerAsync<T>(callbacks: RPCAsyncContainerDictionary, callback: RPCAsync<T>, type: number, uid: string): void;
export declare function doPost(uid: () => string, postMethod: any, type: number, remoteFunction: string, args: any[]): import("./interfaces").RPCEvent;
export declare function promiseRemote(uid: () => string, callbacks: RPCAsyncContainerDictionary, postMethod: ConfiguredRPCEmit, eventType: number, asyncType: number, remoteFunction: string, args: any): Promise<{}>;
export declare function create(c: RPCConfig, callbacks: RPCAsyncContainerDictionary, fullFnName: string, fnType?: number): any;
