import { RPCMessage, IInjectTransport, RPCMessageType, ListeningTicket, IRPCRequest, IRPCResponseWrapper } from '@staffbar/types'; export declare class InjectTransport implements IInjectTransport { constructor({ targetWindow, targetOrigin }: { targetWindow: Window; targetOrigin: string; }); private _targetWindow; private _targetOrigin; /** * In order for `window.removeEventListener` to work we need to pass the same * exact function that we used for `addListener`. This is a way to cache that * value because `.bind(this)` mutates the original `_onRawMessageRecevied` * * This also implicitly tracks state about if we're listening or not, * `undefined` meaning not listening * */ private _listeneingRef; startListening(): void; stopListening(): void; private _listeners; addListener(responder: (request: IRPCRequest, response: IRPCResponseWrapper) => void): ListeningTicket; removeListener(listeningTicket: ListeningTicket): void; private _onRawMessageReceived; private _onRequestMessageReceived; publish(message: RPCMessage, messageType?: RPCMessageType): void; } //# sourceMappingURL=index.d.ts.map