import { HttpService } from '@nestjs/axios';
import { TermiiModuleOptions } from '../interfaces';
import { TermiiRequestSenderIdRequest, TermiiSendBulkMessageRequest, TermiiSendMessageRequest, TermiiSendNumberMessageRequest, TermiiSendTemplateRequest, TermiiCreatePhoneBookRequest, TermiiUpdatePhoneBookRequest } from './requests';
import { TermiiFetchSenderIdsResponse, TermiiRequestSenderIdResponse, TermiiSendMessageResponse, TermiiSendBulkMessageResponse, TermiiSendNumberMessageResponse, TermiiSendTemplateResponse, TermiiFetchPhoneBooksResponse, TermiiCreatePhoneBookResponse, TermiiUpdatePhoneBookResponse, TermiiDeletePhoneBookResponse } from './responses';
export declare class MessagingService {
    private readonly options;
    private readonly httpService;
    private readonly apiKey;
    private readonly baseUrl;
    constructor(options: TermiiModuleOptions, httpService: HttpService);
    fetchSenderId(): Promise<TermiiFetchSenderIdsResponse>;
    requestSenderId(payload: TermiiRequestSenderIdRequest): Promise<TermiiRequestSenderIdResponse>;
    sendMessage(payload: TermiiSendMessageRequest): Promise<TermiiSendMessageResponse>;
    sendBulkMessage(payload: TermiiSendBulkMessageRequest): Promise<TermiiSendBulkMessageResponse>;
    sendNumberMessage(payload: TermiiSendNumberMessageRequest): Promise<TermiiSendNumberMessageResponse>;
    sendTemplate(payload: TermiiSendTemplateRequest): Promise<TermiiSendTemplateResponse>;
    fetchPhoneBooks(): Promise<TermiiFetchPhoneBooksResponse>;
    createPhoneBook(payload: TermiiCreatePhoneBookRequest): Promise<TermiiCreatePhoneBookResponse>;
    updatePhoneBook(phonebookId: string, payload: TermiiUpdatePhoneBookRequest): Promise<TermiiUpdatePhoneBookResponse>;
    deletePhoneBook(phonebookId: string): Promise<TermiiDeletePhoneBookResponse>;
}
