import { Element } from 'ltx';
import { IMessage } from '../types/types';
import { default as XmppClient } from './xmppClient';
declare const onRealtimeMessage: (stanza: Element, xmppClient?: XmppClient) => Promise<IMessage>;
declare const onReactionMessage: (stanza: Element) => Promise<void>;
declare const onDeleteMessage: (stanza: Element) => Promise<void>;
declare const onEditMessage: (stanza: Element) => Promise<void>;
declare const onReactionHistory: (stanza: any) => Promise<void>;
declare const onMessageHistory: (stanza: any) => Promise<void>;
declare const handleComposing: (stanza: Element, currentUser: string) => Promise<void>;
declare const onPresenceInRoom: (stanza: Element | any) => void;
declare const onChatInvite: (stanza: Element, client: XmppClient) => Promise<void>;
declare const onGetMembers: (stanza: Element) => void;
declare const onGetRoomInfo: (stanza: Element) => void;
declare const onGetLastMessageArchive: (stanza: Element) => void;
declare const onNewRoomCreated: (stanza: Element, xmpp: any) => void;
declare const onGetChatRooms: (stanza: Element, xmpp: any) => void;
declare const onRoomKicked: (stanza: Element) => Promise<void>;
declare const onMessageError: (stanza: Element, client: XmppClient) => Promise<void>;
export type XMPPErrorInfo = {
    type: string;
    id: string;
    from: string;
    to: string;
    body: string | null;
    condition: string;
    message: string;
};
export declare const handleErrorMessageStanza: (stanza: Element) => XMPPErrorInfo | null;
declare const onUserUpdate: (stanza: Element) => Promise<void>;
declare const onChatUpdate: (stanza: Element) => Promise<void>;
export { onRealtimeMessage, onMessageHistory, onPresenceInRoom, onReactionHistory, onGetLastMessageArchive, handleComposing, onGetChatRooms, onNewRoomCreated, onGetMembers, onGetRoomInfo, onDeleteMessage, onEditMessage, onReactionMessage, onChatInvite, onRoomKicked, onMessageError, onUserUpdate, onChatUpdate, };
