import "dotenv/config";
import type { SendTemplateParams, SendDeliveryUpdateParams, SendCustomerPaymentReceivedParams, SendSupplierPaymentMessageParams, SendSupplierBoxReturnMessageParams, SendInvoiceReadyParams } from "./whatsapp.types.js";
export declare class WhatsAppService {
    /**
     * Reads and validates the SmartPing WhatsApp API configuration from environment variables.
     */
    private getConfig;
    /**
     * Check if WhatsApp service is configured with valid environment variables.
     */
    isConfigured(): boolean;
    /**
     * Sanitizes phone number to international format with '+' prefix for SmartPing (E.164).
     * E.g. '9876543210' -> '+919876543210'
     * E.g. '+91 98765-43210' -> '+919876543210'
     */
    sanitizePhoneNumber(phone: string): string;
    /**
     * Extracts flat string parameters from TemplateComponent array if provided.
     */
    private extractParamsFromComponents;
    /**
     * Core method to send WhatsApp template message via SmartPing API.
     * Method: POST
     * URL: https://backend.api-wa.co/campaign/smartping/api
     */
    sendTemplate({ to, userName, templateName, campaignName, templateParams, components, }: SendTemplateParams): Promise<any>;
    /**
     * Helper: Send Delivery Update (Template: delivery_update_2)
     */
    sendDeliveryUpdate(params: SendDeliveryUpdateParams): Promise<any>;
    /**
     * Helper: Send Customer Payment Received (SmartPing Campaign: CUSTOMER_PAY_RECEIVE)
     * Variables:
     * {{1}} = Customer Name
     * {{2}} = Payment Amount
     * {{3}} = Payment Date
     * {{4}} = Remaining Balance
     */
    sendCustomerPaymentReceived(params: SendCustomerPaymentReceivedParams): Promise<any>;
    /**
     * Helper: Send Supplier Payment Message (SmartPing Campaign: BILLING)
     * Variables:
     * {{1}} = Supplier Name
     * {{2}} = Payment Amount
     * {{3}} = Payment Date
     * {{4}} = Payment Mode
     * {{5}} = Reference Number
     * {{6}} = Remaining Balance
     */
    sendSupplierPaymentMessage(params: SendSupplierPaymentMessageParams): Promise<any>;
    /**
     * Helper: Send Supplier Box Return Message (SmartPing Campaign: BOX_RETURN)
     * Variables:
     * {{1}} = Supplier Name
     * {{2}} = Total boxes purchased
     * {{3}} = Vegetable Name
     * {{4}} = Returned boxes
     * {{5}} = Retained boxes
     */
    sendSupplierBoxReturnMessage(params: SendSupplierBoxReturnMessageParams): Promise<any>;
    /**
     * Helper: Send Invoice Ready notification to customer (SmartPing Campaign: CUSTOMER_PAY)
     * Variables:
     * {{1}} = Customer Name
     * {{2}} = Invoice Number
     * {{3}} = Invoice Amount
     * {{4}} = Invoice UUID
     */
    sendInvoiceReady(params: SendInvoiceReadyParams): Promise<any>;
}
declare const whatsappService: WhatsAppService;
export default whatsappService;
//# sourceMappingURL=whatsapp.service.d.ts.map