import { default as XmppClient } from '../networking/xmppClient';
import { xmppSettingsInterface } from '../types/types';
export declare function buildXmppClientKey(username: string, xmppSettings?: xmppSettingsInterface): string;
export declare function isXmppClientReusable(client: XmppClient | null): boolean;
export declare function setGlobalXmppClient(client: XmppClient | null, key?: string): void;
export declare function getGlobalXmppClient(): XmppClient | null;
export declare function getGlobalXmppClientKey(): string;
export declare function getReusableXmppClientByKey(key: string): XmppClient | null;
export declare function withXmppClientInitLock(key: string, init: () => Promise<XmppClient>): Promise<XmppClient>;
export declare function requireXmppClient(): XmppClient;
declare const _default: {
    buildXmppClientKey: typeof buildXmppClientKey;
    isXmppClientReusable: typeof isXmppClientReusable;
    setGlobalXmppClient: typeof setGlobalXmppClient;
    getGlobalXmppClient: typeof getGlobalXmppClient;
    getGlobalXmppClientKey: typeof getGlobalXmppClientKey;
    getReusableXmppClientByKey: typeof getReusableXmppClientByKey;
    withXmppClientInitLock: typeof withXmppClientInitLock;
    requireXmppClient: typeof requireXmppClient;
};
export default _default;
