/*! PrivMX Web Endpoint. Copyright © 2024 Simplito sp. z o.o. This file is part of the PrivMX Platform (https://privmx.dev). This software is Licensed under the PrivMX Free License. See the License for the specific language governing permissions and limitations under the License. */ import { BaseApi } from "./BaseApi"; import { EventApiNative } from "../api/EventApiNative"; import { EventsEventSelectorType, UserWithPubKey } from "../Types"; export declare class EventApi extends BaseApi { private native; constructor(native: EventApiNative, ptr: number); /** * Emits the custom event on the given Context and channel. * * @param {string} contextId ID of the Context * @param {UserWithPubKey[]} users list of UserWithPubKey objects which defines the recipients of the event * @param {string} channelName name of the Channel * @param {Uint8Array} eventData event's data */ emitEvent(contextId: string, users: UserWithPubKey[], channelName: string, eventData: Uint8Array): Promise; /** * Subscribe for the custom events on the given subscription query. * * @param {string[]} subscriptionQueries list of queries * @return list of subscriptionIds in maching order to subscriptionQueries */ subscribeFor(subscriptionQueries: string[]): Promise; /** * Unsubscribe from events for the given subscriptionId. * @param {string[]} subscriptionIds list of subscriptionId */ unsubscribeFrom(subscriptionIds: string[]): Promise; /** * Generate subscription Query for the custom events. * @param {string} channelName name of the Channel * @param {EventSelectorType} selectorType scope on which you listen for events * @param {string} selectorId ID of the selector */ buildSubscriptionQuery(channelName: string, selectorType: EventsEventSelectorType, selectorId: string): Promise; }