import { ApolloLink } from "@apollo/client/core"; import { DefaultInitArgs, BusLinkRequestTypes, BusLinkResponseTypes } from "../types"; export declare type RegisterBusFunction = (onRequest: (request: BusLinkRequestTypes, onResponse: (response: BusLinkResponseTypes) => void) => Promise) => void; export declare type MessageBusBackend = { initialise: (args: A) => Promise; listen: () => void; }; declare type BusLinkOptions = { registerBus: RegisterBusFunction; createExecutor: (args: A) => Promise | ApolloLink; } | { registerBus: RegisterBusFunction; executor: ApolloLink; }; export declare const createBusLinkBackend: (options: BusLinkOptions) => MessageBusBackend; export {};