import { Connection } from './api/connection/Connection'; import { CryptoApi } from './api/crypto/CryptoApi'; import { EventQueue } from './api/event-queue/EventQueue'; import { InboxApi } from './api/inbox/InboxApi'; import { StoreApi } from './api/store/StoreApi'; import { ThreadApi } from './api/thread/ThreadApi'; export declare class EndpointFactory { static connect: (privKey: string, solutionId: string, bridgeUrl: string) => Promise; static connectPublic: (solutionId: string, bridgeUrl: string) => Promise; static createThreadApi: (coreApi: Connection) => Promise; static createStoreApi: (coreApi: Connection) => Promise; static createInboxApi: (coreApi: Connection, threadApi: ThreadApi, storeApi: StoreApi) => Promise; static getEventQueue: () => Promise; static createCryptoApi: () => Promise; static api: any; static eventQueueNative: any; static connectionNative: any; static threadApiNative: any; static storeApiNative: any; static inboxApiNative: any; static cryptoApiNative: any; } /** * Wrapper on the ApiFactory class */ export declare class EndpointFactoryProvider { /** * Checks whether the library has been fully loaded */ private static ensureApiFactoryReady; /** * Connects to the PrivMX Bridge * @param {string} privKey private key * @param {string} solutionId solution ID * @param {string} bridgeUrl Bridge URL * @returns {Connection} returns a {@link Connection `Connection` instance} */ static connect(privKey: string, solutionId: string, bridgeUrl: string): Promise; /** * Connects to the PrivMX Bridge as a guest * @param {string} solutionId solution ID * @param {string} bridgeUrl Bridge URL * @returns {Promise} returns a promise that resolves with a {@link Connection `Connection`} instance */ static connectPublic(solutionId: string, bridgeUrl: string): Promise; /** * Creates a API for managing Threads * @param {Connection} connection connection instance that was returned from connecting * @returns {Promise} a promise that resolves with a {@link ThreadApi `ThreadApi`} instance */ static createThreadApi(connection: Connection): Promise; /** * Creates a API for managing Stores * @param {Connection} connection connection instance that was returned from connecting * @returns {Promise} a promise that resolves with a {@link StoreApi `StoreApi`} instance */ static createStoreApi(connection: Connection): Promise; /** * Creates a API for cryptography * @returns {Promise} a promise that resolves with {@link CryptoApi `CryptoApi`} instance */ static createCryptoApi(): Promise; /** * Creates a API for managing Inboxes * @param {Connection} connection connection instance that was returned from connecting * @param {ThreadApi} threadApi a {@link ThreadApi `ThreadApi` instance} * @param {StoreApi} storeApi a {@link StoreApi `StoreApi` instance} * @returns {Promise} a promise that resolves with an {@link InboxApi `InboxApi`} instance */ static createInboxApi(connection: Connection, threadApi: ThreadApi, storeApi: StoreApi): Promise; /** * Creates a event queue that is used for handling events * @returns {Promise} a promise that resolves with a {@link EventQueue `EventQueue`} instance */ static getEventQueue(): Promise; }