import { Logger } from "@nestjs/common";
import { QueueMessage } from "../../interfaces/mq";
import { SmsTemplateService } from "../sms-template.service";
import { ISMS } from "../../interfaces";
import { PublisherFactory } from "../queues/publisher-factory.service";
import { SettingService } from "../setting.service";
export declare abstract class Msg91BaseSMSService implements ISMS {
    protected readonly settingService: SettingService;
    protected readonly smsPublisher: string;
    protected readonly publisherFactory: PublisherFactory<any>;
    protected readonly smsTemplateService: SmsTemplateService;
    protected readonly logger: Logger;
    constructor(settingService: SettingService, smsPublisher: string, publisherFactory: PublisherFactory<any>, smsTemplateService: SmsTemplateService);
    sendSMS(_to: string, _body: string, _shouldQueueSms: boolean): Promise<void>;
    sendSMSUsingTemplate(to: string, templateName: string, templateParams: any, shouldQueueSms?: boolean): Promise<any>;
    sendSMSAsynchronously(message: any): Promise<void>;
    abstract sendSMSSynchronously(message: QueueMessage<any>): Promise<any>;
}
//# sourceMappingURL=Msg91BaseSMSService.d.ts.map