mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
72 lines
2.0 KiB
TypeScript
72 lines
2.0 KiB
TypeScript
// Type definitions for node-xmpp-client 3.1
|
|
// Project: http://github.com/node-xmpp/node-xmpp
|
|
// Definitions by: PJakcson <https://github.com/PJakcson>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
// TypeScript Version: 2.1
|
|
|
|
export class Client {
|
|
static Stanza: Stanza;
|
|
|
|
constructor(options: XmppOptions);
|
|
|
|
connect(): void;
|
|
|
|
disconnect(): void;
|
|
|
|
on(event: string, c: (e: any, d: any) => any): void;
|
|
|
|
send(stanza: any): void;
|
|
}
|
|
|
|
export interface Stanza extends Element {
|
|
// This has to be used for the static class initializer new Client.Stanza(..). If there is a better way feel free to
|
|
// contribute.
|
|
// tslint:disable-next-line
|
|
new(name: string, attr: any): Stanza;
|
|
from: string;
|
|
to: string;
|
|
id: string;
|
|
type: string;
|
|
}
|
|
|
|
export interface Element {
|
|
is(name: string, xmlns: string): boolean;
|
|
getName(): string;
|
|
getNS(): string;
|
|
findNS(prefix: string): string;
|
|
getXmlns(): string;
|
|
setAttrs(attrs: any): void;
|
|
getAttrs(): any;
|
|
|
|
up(): Element;
|
|
c(name: string, attrs?: any): Element;
|
|
cnode(child: Element): Element;
|
|
t(text: string): Element;
|
|
remove(el: Element, xmnls: string): Element;
|
|
attr(attr: any, val: any): any;
|
|
|
|
toString(): string;
|
|
toJSON(): any;
|
|
}
|
|
|
|
export interface XmppOptions {
|
|
jid: string;
|
|
password: string;
|
|
host?: string;
|
|
port?: number;
|
|
reconnect?: boolean;
|
|
autostart?: boolean; // if we start connecting to a given port
|
|
register?: boolean; // register account before authentication
|
|
legacySSL?: boolean; // connect to the legacy SSL port, requires at least the host to be specified
|
|
credentials?: any; // Dictionary (optional) - TLS or SSL key and certificate credentials
|
|
actAs?: string; // if admin user act on behalf of another user (just user)
|
|
disallowTLS?: boolean; // prevent upgrading the connection to a secure one via TLS
|
|
preferred?: string; // Preferred SASL mechanism to use
|
|
bosh?: Bosh;
|
|
}
|
|
|
|
export interface Bosh {
|
|
url?: string;
|
|
prebind?(error: any, data: any): void;
|
|
}
|