/**
 * @author Jackiê Macklein
 * @company Onside tecnologia/Nettz
 * @copyright Todos direitos reservados.
 * @description Cliente HTTP para WhatsApp Cloud API (envio de mensagens via Graph API).
 */
import { WhatsAppCloudClientConfig, WhatsAppSendAddressMessageOptions, WhatsAppSendAudioMessageOptions, WhatsAppSendContactsMessageOptions, WhatsAppSendDocumentMessageOptions, WhatsAppSendImageMessageOptions, WhatsAppSendInteractiveCtaUrlMessageOptions, WhatsAppSendInteractiveListMessageOptions, WhatsAppSendInteractiveMediaCarouselMessageOptions, WhatsAppSendInteractiveReplyButtonsMessageOptions, WhatsAppSendLocationMessageOptions, WhatsAppSendMessageResponse, WhatsAppSendTemplateMessageOptions, WhatsAppSendTextMessageOptions, WhatsAppSendVideoMessageOptions } from "./types";
export interface WhatsAppCloudClient {
    readonly graphBaseUrl: string;
    readonly graphApiVersion: string;
    readonly phoneNumberId: string;
    /** POST `/{phone-number-id}/messages` — corpo completo conforme a documentação. */
    sendMessage<T = WhatsAppSendMessageResponse>(body: Record<string, unknown>): Promise<T>;
    sendTextMessage(options: WhatsAppSendTextMessageOptions): Promise<WhatsAppSendMessageResponse>;
    /** @deprecated use sendTextMessage */
    sendText(options: WhatsAppSendTextMessageOptions): Promise<WhatsAppSendMessageResponse>;
    sendTemplateMessage(options: WhatsAppSendTemplateMessageOptions): Promise<WhatsAppSendMessageResponse>;
    /** @deprecated use sendTemplateMessage */
    sendTemplate(options: WhatsAppSendTemplateMessageOptions): Promise<WhatsAppSendMessageResponse>;
    sendAddressMessage(options: WhatsAppSendAddressMessageOptions): Promise<WhatsAppSendMessageResponse>;
    sendAudioMessage(options: WhatsAppSendAudioMessageOptions): Promise<WhatsAppSendMessageResponse>;
    sendContactsMessage(options: WhatsAppSendContactsMessageOptions): Promise<WhatsAppSendMessageResponse>;
    sendDocumentMessage(options: WhatsAppSendDocumentMessageOptions): Promise<WhatsAppSendMessageResponse>;
    sendImageMessage(options: WhatsAppSendImageMessageOptions): Promise<WhatsAppSendMessageResponse>;
    sendVideoMessage(options: WhatsAppSendVideoMessageOptions): Promise<WhatsAppSendMessageResponse>;
    sendLocationMessage(options: WhatsAppSendLocationMessageOptions): Promise<WhatsAppSendMessageResponse>;
    sendInteractiveCtaUrlMessage(options: WhatsAppSendInteractiveCtaUrlMessageOptions): Promise<WhatsAppSendMessageResponse>;
    sendInteractiveListMessage(options: WhatsAppSendInteractiveListMessageOptions): Promise<WhatsAppSendMessageResponse>;
    sendInteractiveMediaCarouselMessage(options: WhatsAppSendInteractiveMediaCarouselMessageOptions): Promise<WhatsAppSendMessageResponse>;
    sendInteractiveReplyButtonsMessage(options: WhatsAppSendInteractiveReplyButtonsMessageOptions): Promise<WhatsAppSendMessageResponse>;
    /**
     * Metadados do número (GET no node do phone number id).
     * @param fields parâmetro `fields` da Graph API (opcional).
     */
    getPhoneNumber(fields?: string): Promise<Record<string, unknown>>;
}
export declare function createWhatsAppCloudClient(config: WhatsAppCloudClientConfig): WhatsAppCloudClient;
