import { Client } from '@xmpp/client';
import { Iso639_1Codes, XmppClientInterface, xmppSettingsInterface } from '../types/types';
export declare class XmppClient implements XmppClientInterface {
    client: Client;
    devServer: string | undefined;
    host: string;
    service: string;
    conference: string;
    username: string;
    status: string;
    password: string;
    reconnectAttempts: number;
    maxReconnectAttempts: number;
    reconnectDelay: number;
    checkOnline(): boolean;
    constructor(username: string, password: string, xmppSettings?: xmppSettingsInterface);
    initializeClient(): Promise<void>;
    disconnect(): Promise<void>;
    attachEventListeners(): void;
    reconnect(): Promise<void>;
    allRoomPresencesStanza(): void;
    ensureConnected(timeout?: number): Promise<void>;
    close(): Promise<void>;
    wrapWithConnectionCheck<T>(operation: () => Promise<T>): Promise<T>;
    getRoomsStanza: (disableGetRooms?: boolean) => Promise<void>;
    getRoomsPagedStanza(maxResults?: number, after?: string | null): Promise<void>;
    createRoomStanza(title: string, description: string): Promise<string>;
    inviteRoomRequestStanza(to: string, roomJid: string): Promise<void>;
    leaveTheRoomStanza: (roomJID: string) => void;
    presenceInRoomStanza: (roomJID: string, settleDelay?: number) => Promise<void>;
    getHistoryStanza: (chatJID: string, max: number, before?: number, otherStanzaId?: string) => Promise<import('../types/types').IMessage[]>;
    getLastMessageArchiveStanza(roomJID: string): void;
    setRoomImageStanza: (roomJid: string, roomThumbnail: string, type: string, roomBackground?: string) => void;
    getRoomInfoStanza: (roomJID: string) => void;
    getRoomMembersStanza: (roomJID: string) => void;
    setVCardStanza(xmppUsername: string): void;
    sendMessage: (roomJID: string, firstName: string, lastName: string, photo: string, walletAddress: string, userMessage: string, notDisplayedValue?: string, isReply?: boolean, showInChannel?: boolean, mainMessage?: string, customId?: string) => void;
    sendTextMessageWithTranslateTagStanza: (roomJID: string, firstName: string, lastName: string, photo: string, walletAddress: string, userMessage: string, notDisplayedValue?: string, isReply?: boolean, showInChannel?: boolean, mainMessage?: string, langSource?: Iso639_1Codes) => void;
    deleteMessageStanza(room: string, msgId: string): void;
    editMessageStanza(room: string, msgId: string, text: string): void;
    sendMessageReactionStanza(messageId: string, roomJid: string, reactionsList: string[], reactionSymbol?: any): void;
    sendTypingRequestStanza(chatId: string, fullName: string, start: boolean): void;
    getChatsPrivateStoreRequestStanza: () => Promise<unknown>;
    actionSetTimestampToPrivateStoreStanza(chatId: string, timestamp: number, chats?: string[]): Promise<void>;
    createPrivateRoomStanza(title: string, description: string, to: string): Promise<string>;
    sendMediaMessageStanza(roomJID: string, data: any): void;
}
export default XmppClient;
