import { Page } from 'puppeteer';
import { Chat } from './model/chat';
import { Contact } from './model/contact';
import { Message } from './model/message';
import { Id } from './model/id';
import { participantChangedEventModel } from './model/group-metadata';
export declare const getBase64: (url: string) => Promise<string>;
export declare class Whatsapp {
    page: Page;
    constructor(page: Page);
    onMessage(fn: (message: Message) => void): void;
    onAnyMessage(fn: (message: Message) => void): Promise<void>;
    onStateChanged(fn: (state: string) => void): void;
    getConnectionState(): Promise<any>;
    onAck(fn: (message: Message) => void): void;
    kill(): Promise<boolean>;
    forceRefocus(): Promise<void>;
    onParticipantsChanged(groupId: string, fn: (participantChangedEvent: participantChangedEventModel) => void): Promise<void>;
    sendText(to: string, content: string): Promise<void>;
    sendMessageWithThumb(thumb: string, url: string, title: string, description: string, chatId: string): Promise<void>;
    sendLocation(to: string, lat: any, lng: any, loc: string): Promise<void>;
    getGeneratedUserAgent(userA?: string): Promise<void>;
    sendImage(to: string, base64: string, filename: string, caption: string): Promise<void>;
    reply(to: string, content: string, quotedMsg: any): Promise<void>;
    sendFile(to: string, base64: string, filename: string, caption: string): Promise<void>;
    sendVideoAsGif(to: string, base64: string, filename: string, caption: string): Promise<void>;
    sendGiphy(to: string, giphyMediaUrl: string, caption: string): Promise<void>;
    getBusinessProfilesProducts(id: string): Promise<void>;
    sendImageWithProduct(to: string, base64: string, caption: string, bizNumber: string, productId: string): Promise<void>;
    sendContact(to: string, contactId: string | string[]): Promise<any>;
    simulateTyping(to: string, on: boolean): Promise<void>;
    forwardMessages(to: string, messages: any, skipMyMessages: boolean): Promise<any>;
    getAllContacts(): Promise<Contact[]>;
    getWAVersion(): Promise<String>;
    isConnected(): Promise<Boolean>;
    getAllChats(withNewMessageOnly?: boolean): Promise<any>;
    getAllChatsWithMessages(withNewMessageOnly?: boolean): Promise<any>;
    getAllGroups(withNewMessagesOnly?: boolean): Promise<any>;
    getGroupMembersId(groupId: string): Promise<Id[]>;
    getGroupMembers(groupId: string): Promise<Contact[]>;
    getContact(contactId: string): Promise<Contact>;
    getChatById(contactId: string): Promise<Chat>;
    getChat(contactId: string): Promise<Chat>;
    getProfilePicFromServer(chatId: string): Promise<any>;
    loadEarlierMessages(contactId: string): Promise<Message[]>;
    asyncLoadAllEarlierMessages(contactId: string): Promise<void>;
    loadAllEarlierMessages(contactId: string): Promise<void>;
    deleteMessage(contactId: string, messageId: string[] | string, revoke?: boolean): Promise<any>;
    checkNumberStatus(contactId: string): Promise<any>;
    getUnreadMessages(includeMe: boolean, includeNotifications: boolean, use_unread_count: boolean): Promise<any>;
    getAllNewMessages(): Promise<any>;
    getAllUnreadMessages(): Promise<any>;
    getAllMessagesInChat(chatId: string, includeMe: boolean, includeNotifications: boolean): Promise<[Message]>;
    loadAndGetAllMessagesInChat(chatId: string, includeMe: boolean, includeNotifications: boolean): Promise<[Message]>;
    createGroup(groupName: string, contacts: string | string[]): Promise<void>;
    removeParticipant(idGroup: string, idParticipant: string): Promise<void>;
    addParticipant(idGroup: string, idParticipant: string): Promise<void>;
    promoteParticipant(idGroup: string, idParticipant: string): Promise<void>;
    demoteParticipant(idGroup: string, idParticipant: string): Promise<void>;
}
export { useragent } from '../config/puppeteer.config';
