import { PostisOptions } from './postis'; import type { ITransportBackend } from './types'; /** * Options for PostMessageITransportBackend. */ export interface IPostMessageTransportBackendOptions { postisOptions?: Partial; } /** * Implements message transport using the postMessage API. */ export default class PostMessageITransportBackend implements ITransportBackend { /** * The postis instance for communication. */ private postis; /** * Callback function for receiving messages. */ private _receiveCallback; /** * Creates new PostMessageITransportBackend instance. * * @param {Object} options - Optional parameters for configuration of the * transport. */ constructor({ postisOptions }?: IPostMessageTransportBackendOptions); /** * Disposes the allocated resources. * * @returns {void} */ dispose(): void; /** * Sends the passed message. * * @param {Object} message - The message to be sent. * @returns {void} */ send(message: any): void; /** * Sets the callback for receiving data. * * @param {Function} callback - The new callback. * @returns {void} */ setReceiveCallback(callback: (message: any) => void): void; }