@hsaadawy/ngx-chat
Version:
26 lines (25 loc) • 1.37 kB
TypeScript
import { Element } from 'ltx';
import { Subject } from 'rxjs';
import { IqResponseStanza, Stanza } from '../../../../core/stanza';
import { XmppChatAdapter } from '../xmpp-chat-adapter.service';
import { AbstractXmppPlugin } from './abstract-xmpp-plugin';
import { ServiceDiscoveryPlugin } from './service-discovery.plugin';
export declare const PUBSUB_EVENT_XMLNS = "http://jabber.org/protocol/pubsub#event";
/**
* XEP-0060 Publish Subscribe (https://xmpp.org/extensions/xep-0060.html)
* XEP-0223 Persistent Storage of Private Data via PubSub (https://xmpp.org/extensions/xep-0223.html)
*/
export declare class PublishSubscribePlugin extends AbstractXmppPlugin {
private readonly xmppChatAdapter;
private readonly serviceDiscoveryPlugin;
readonly publish$: Subject<Stanza>;
private readonly supportsPrivatePublish;
constructor(xmppChatAdapter: XmppChatAdapter, serviceDiscoveryPlugin: ServiceDiscoveryPlugin);
onBeforeOnline(): Promise<void>;
onOffline(): void;
storePrivatePayloadPersistent(node: string, id: string, data: Element): Promise<IqResponseStanza<'result'>>;
privateNotify(node: string, data?: Element, id?: string): Promise<IqResponseStanza>;
handleStanza(stanza: Stanza): boolean;
retrieveNodeItems(node: string): Promise<Element[]>;
private determineSupportForPrivatePublish;
}