import { type Callback, type EventHandler } from "../utils/events"; import { type IAddActionMessageData, type IAddButtonInitialMessageData, type IAddButtonPermissionsServerModel, type IClickedMessageMetadata, type IContentComponentClickedMessageData, type IContentItemClickedMessageData, type IElementClickedMessageData, IFrameMessageType, type IPreviewIFrameCurrentUrlMessageData, type IRefreshMessageData, type IRefreshMessageMetadata, type ISDKInitializedMessageData, type ISDKStatusMessageData, type IUpdateMessageData } from "./IFrameCommunicatorTypes"; export type IFrameMessageMap = Readonly<{ [IFrameMessageType.Initialized]: EventHandler; [IFrameMessageType.Status]: EventHandler; [IFrameMessageType.ElementClicked]: EventHandler; [IFrameMessageType.ContentItemClicked]: EventHandler; [IFrameMessageType.ContentComponentClicked]: EventHandler; [IFrameMessageType.AddInitial]: EventHandler>; [IFrameMessageType.AddAction]: EventHandler; [IFrameMessageType.RefreshPreview]: EventHandler; [IFrameMessageType.UpdatePreview]: EventHandler; [IFrameMessageType.PreviewIFrameCurrentUrl]: EventHandler; [IFrameMessageType.PreviewIFrameCurrentUrlResponse]: EventHandler; }>; export declare class IFrameCommunicator { private events; private readonly callbacks; initialize(): void; destroy(): void; sendMessageWithResponse: (type: M, data: Parameters[0], callback: Parameters[2], metadata?: Parameters[1]) => void; sendMessage: (type: M, data: Parameters[0], metadata?: Parameters[1], requestId?: string) => void; addMessageListener: (type: M, listener: IFrameMessageMap[M]) => void; removeMessageListener: (type: M, listener: IFrameMessageMap[M]) => void; private onMessage; private executeCallback; }