import QuantumEventBus, { HandleFunction, RegisterConfig } from './QuantumEventBus';
declare type DataArg<Data> = {
    category: string;
    sender: string;
    data?: Data;
};
declare type CustomRegisterConfig = {
    eventBus?: QuantumEventBus;
} & RegisterConfig;
declare const useQuantumMessage: <Send, Receive>(id: string, handle: HandleFunction<DataArg<Send>, Receive>, registerConfig?: CustomRegisterConfig | undefined) => <Send_1, Receive_1>(to: string, category: string, data?: Send_1 | undefined) => Promise<Receive_1>;
export declare class EventBusNotPresent extends Error {
    constructor();
}
export default useQuantumMessage;
