import { Connection } from "../service"; import { InboxEntryPayload } from "./inbox"; /** * @class PublicConnection * @classdesc A client for interacting with the PrivMX Endpoint API as a guest. The scope is limited to sending an entries to inboxes. * @example * // Initialize the PrivMX client * await PrivmxClient.setup('/path/to/privmx/assets'); * * // Connect to the PrivMX bridge * const solutionId = 'your-solution-id'; * const bridgeUrl = 'https://your-bridge-url.com'; * const inboxId = 'your-inbox-id' * const client = await PrivmxClient.connectPublic(solutionId, bridgeUrl); * * // Send entry * const encoder = new TextEncoder(); * const encodedData = encoder.encode(JSON.stringify({ message: 'Hello, PrivMX!' })); * * await client.sendEntry(inboxId, { * data: encodedData * }) * * // Disconnect when done * await client.disconnect(); */ export declare class PublicConnection { private connection; private threadApi; private storeApi; private inboxApi; /** * @constructor * @param {Connection} connection - The connection object. */ constructor(connection: Connection); /** * @description Gets the connection object. * @returns {Connection} * @throws {Error} If there is no active connection. */ private getConnection; /** * @description Gets the Thread API. * @returns {Promise} */ private getThreadApi; /** * @description Gets the Store API. * @returns {Promise} */ private getStoreApi; /** * @description Gets the Inbox API. * @returns {Promise} */ private getInboxApi; /** * @description Disconnects from the PrivMX bridge. * @returns {Promise} */ disconnect(): Promise; /** * @description Sends an entry to the specified inbox. * @param {string} inboxId - The ID of the inbox to send the entry to. * @param {InboxEntryPayload} payload - The payload of the entry to send. * @returns {Promise} */ sendEntry(inboxId: string, payload: InboxEntryPayload): Promise; }