/** * @private */ export interface SdkMessage { type: 'MESSAGE' | 'RESPONSE'; source: string; eventName: EventType; key: string; date: number; data?: DataType; isOk: boolean; } /** * @private */ export declare class Messaging { protected handshakeData: Record; protected recipient?: Window | null; protected thisSourceName: string; protected expectedIncomingSourceName: string; constructor(sourceName?: string, incomingSourceName?: string); private _queue; private _messageHandler; /** * Sends a message to partner. If `waitForResponse=true` resolves or rejects only when response is received. */ protected sendMessage(type: EventNameType, data?: DataType, messageKey?: string, waitForResponse?: boolean): Promise; private messageHandler; protected setupMessaging(): void; protected destroyMessaging(): void; protected sendResponse(eventName: T, key: string, { isOk, data }?: { isOk: boolean; data?: IncomingMessageTypes[T]; }): void; protected handleMessage(message: SdkMessage): void; }