import { WASocket } from "@whiskeysockets/baileys";
import { IWAutoSendMessage, IWAutoSendTyping, IWAutoSessionConfig, IWAutoMessage, WAutoGroupMemberActionOptions, IWAutoSendMedia, IWAutoPhoneToJid, IWAutoForwardMessage, IWAutoSendSticker, IStickerOptions } from "../Types";
import AutoWAEvent from "./AutoWAEvent";
export declare class AutoWA {
    private logger;
    private callback;
    private retryCount;
    sock: WASocket;
    sessionId: string;
    options: IWAutoSessionConfig;
    event: AutoWAEvent;
    private pairingCode?;
    defaultStickerProps: IStickerOptions;
    constructor(sessionId: string, options?: IWAutoSessionConfig);
    setLogging(logging: boolean): Promise<void>;
    initialize(): Promise<void>;
    private startWhatsApp;
    private startSocket;
    private setupWASocket;
    destroy(full?: boolean): Promise<void>;
    isExist({ from, isGroup }: IWAutoPhoneToJid): Promise<boolean>;
    private downloadMedia;
    private validateReceiver;
    sendText({ to, text, isGroup, ...props }: IWAutoSendMessage): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
    sendImage({ to, text, isGroup, media, failMsg, ...props }: IWAutoSendMedia): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
    sendVideo({ to, text, isGroup, media, failMsg, ...props }: IWAutoSendMedia): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
    sendDocument({ to, text, isGroup, media, filename, failMsg, ...props }: IWAutoSendMedia & {
        filename: string;
    }): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
    sendAudio({ to, isGroup, media, voiceNote, failMsg, ...props }: Omit<IWAutoSendMedia, "text">): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
    sendReaction({ to, text, isGroup, answering }: IWAutoSendMessage): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
    sendTyping({ to, duration, isGroup }: IWAutoSendTyping): Promise<void>;
    sendRecording({ to, duration, isGroup }: IWAutoSendTyping): Promise<void>;
    readMessage(msgs: IWAutoMessage[]): Promise<void>;
    sendSticker({ to, isGroup, sticker, media, failMsg, hasMedia, ...props }: IWAutoSendSticker & IStickerOptions): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
    forwardMessage({ to, msg, isGroup, ...props }: IWAutoForwardMessage): Promise<import("@whiskeysockets/baileys").proto.WebMessageInfo>;
    getProfileInfo(target: string): Promise<{
        profilePictureUrl: string;
        status: {
            status: string | undefined;
            setAt: Date;
        };
    }>;
    getGroupInfo(target: string): Promise<import("@whiskeysockets/baileys").GroupMetadata>;
    addMemberToGroup({ participants, to }: WAutoGroupMemberActionOptions): Promise<{
        status: string;
        jid: string;
        content: import("@whiskeysockets/baileys").BinaryNode;
    }[]>;
    removeMemberFromGroup({ participants, to }: WAutoGroupMemberActionOptions): Promise<{
        status: string;
        jid: string;
        content: import("@whiskeysockets/baileys").BinaryNode;
    }[]>;
    promoteMemberGroup({ participants, to }: WAutoGroupMemberActionOptions): Promise<{
        status: string;
        jid: string;
        content: import("@whiskeysockets/baileys").BinaryNode;
    }[]>;
    demoteMemberGroup({ participants, to }: WAutoGroupMemberActionOptions): Promise<{
        status: string;
        jid: string;
        content: import("@whiskeysockets/baileys").BinaryNode;
    }[]>;
}
//# sourceMappingURL=AutoWA.d.ts.map