/**
 *   Project: termii-js
 *   File: Messaging
 *   Created by pennycodes on 25/04/2023.
 *   Copyright termii-js
 */
import { CampaignHistory, Campaigns, ContactResponse, Contacts, CreateContact, CreatePhonebook, Phonebooks, RequestSenderIdOptions, SendBulkMessageOptions, SendCampaignOptions, SenderIDs, SendMessageOptions, SendMessageResponse, SendTemplateOptions, SendWithoutSenderId } from "../interface/messaging";
import { PayloadResponse } from "../interface/global";
import HttpClient from "../service/client";
declare class Messaging {
    private readonly client;
    private readonly api_key;
    private readonly sender_id;
    constructor(client: HttpClient, api_key: string, sender_id: string);
    list_sender_ids(page?: number): Promise<SenderIDs>;
    request_sender_id(payload: RequestSenderIdOptions): Promise<PayloadResponse>;
    send(payload: SendMessageOptions): Promise<SendMessageResponse>;
    send_bulk(payload: SendBulkMessageOptions): Promise<SendMessageResponse>;
    send_without_sender_id(payload: SendWithoutSenderId): Promise<SendMessageResponse>;
    send_with_template(payload: SendTemplateOptions): Promise<SendMessageResponse[]>;
    list_phonebooks(page?: number): Promise<Phonebooks>;
    create_phonebook(payload: CreatePhonebook): Promise<PayloadResponse>;
    update_phonebook(id: string, name: string): Promise<PayloadResponse>;
    delete_phonebook(phonebook_id: string): Promise<PayloadResponse>;
    list_contacts(phonebook_id: string | number, page?: number): Promise<Contacts>;
    create_contact(phonebook_id: string, payload: CreateContact): Promise<ContactResponse>;
    delete_contact(contact_id: string | number): Promise<PayloadResponse>;
    send_campaign(payload: SendCampaignOptions): Promise<PayloadResponse>;
    list_campaigns(page?: number): Promise<Campaigns>;
    get_campaign_history(campaign_id: string, page?: number): Promise<CampaignHistory>;
}
export default Messaging;
