export declare function createExplorerMessenger(): ExplorerMessenger;
/**
* The `EventProtocolEvent` object defines the valid format of an event to be emitted to the Event API.
*/
export declare interface EventProtocolEvent extends Payload {
/**
* Readonly `Meta` object.
*/
meta: Readonly;
}
/**
* the `EventProtocolMessage` object provides a structured representation of a message to be emitted for the event protocol's validation.
*/
export declare interface EventProtocolMessage {
/**
* Kind of message, always set to `EVENT_PROTOCOL`.
*/
kind: "EVENT_PROTOCOL";
/**
* Message's structured event.
*/
event: EventProtocolEvent;
/**
* Endpoint defined to communicate with the Event API.
*/
url: string;
/**
* Token to authorize the access to the Event API's validation endpoint.
*/
token: string;
}
export declare type ExplorerMessage = EventProtocolMessage;
declare interface ExplorerMessenger {
/**
* Sends an explorer message between window objects.
* @param {ExplorerMessage} message - message to be sent.
* @returns {void}
*/
sendMessage: (message: ExplorerMessage) => void;
}
/**
* The `Meta` object provides a structured representation of metadata associated with an emitted event.
*/
declare interface Meta {
/**
* The type of event.
*/
type: string;
}
declare type Payload = Record;
export { }