/**
 * The Termii class is the main class used to access the other classes in the Termii library.
 * @class Termii
 * @param {string} apiKey - The API key used for authorization.
 * @returns An instance of the Termii class.
 * @example
 * const termii = new Termii('pk_NjI3ZmVmYmU1YTY1ZWM5OWJhOWFmMGJlOjoxMjE2NzA);
 **/
export declare class Termii {
    apiKey: string;
    /**
     * An instance of the MessageHandler class for sending messages.
     * @private
     * @type {MessageHandler}
     */
    private messageInstance;
    /**
     * Creates an instance of Termii.
     * @constructor
     * @param {string} apiKey - The API key used for authorization.
     */
    constructor(apiKey: string);
    /**
     * Provides access to the MessageHandler instance for sending messages.
     * @type {MessageHandler}
     * @example
     * const termii = new Termii('pk_NjI3ZmVmYmU1YTY1ZWM5OWJhOWFmMGJlOjoxMjE2NzA');
     * termii.switch.sendMessage(<!-- message data -->);
     */
    get message(): {
        sendMessage: (data: import("./interfaces").ISendMessage) => Promise<import("./interfaces").ISendMessageResponse>;
        sendBulkMessage: (data: import("./interfaces").ISendBulkMessage) => Promise<import("./interfaces").ISendBulkMessageResponse>;
        fetchSenderIDs: (page?: number | undefined) => Promise<import("./interfaces").ISenderIDResponse>;
        requestSenderID: (data: import("./interfaces").IRequestSenderID) => Promise<import("./interfaces").IRequestSenderIDResponse>;
        sendMessageWithNumber: (data: import("./interfaces").ISendMessageWithNumber) => Promise<import("./interfaces").ISendMessageWithNumberResponse>;
        sendMessageWithTemplate: (data: import("./interfaces").IDeviceTemplate) => Promise<import("./interfaces").IDeviceTemplateResponse>;
        fetchPhonebooks: (page?: number | undefined) => Promise<import("./interfaces").IFetchPhonebooksResponse>;
        createPhonebook: (data: import("./interfaces").IPhonebook) => Promise<import("./interfaces").IPhonebookResponse>;
        updatePhonebook: (phonebook_id: string, data: import("./interfaces").IPhonebook) => Promise<import("./interfaces").IPhonebookResponse>;
        deletePhonebook: (phonebook_id: string) => Promise<import("./interfaces").IPhonebookResponse>;
        fetchContacts: (phonebook_id: string, page?: number | undefined) => Promise<import("./interfaces").IFetchContactsResponse>;
        createContact: (phonebook_id: string, data: import("./interfaces").ICreateContact) => Promise<import("./interfaces").ICreateContactResponse>;
        deleteContact: (contact_id: string) => Promise<import("./interfaces").IDeleteContactResponse>;
        fetchCampaigns: (page?: number | undefined) => Promise<import("./interfaces").IFetchCampaignsResponse>;
        fetchCampaignHistory: (campaign_id: string, page?: number | undefined) => Promise<import("./interfaces").IFetchCampaignHistoryResponse>;
        sendCampaign: (data: import("./interfaces").ISendCampaign) => Promise<import("./interfaces").ISendCampaignResponse>;
    };
}
