import { WhatsAppSessionService } from './whatsapp-session.service';
import { CartsService } from '../../commerce/services/carts.service';
import { ProductsService } from '../../commerce/services/products.service';
import { OrdersService } from '../../commerce/services/orders.service';
import { PrismaService } from '../../../prisma/prisma.service';
export interface BotResponse {
    text: string;
    payload?: {
        type: 'button_grid' | 'pills' | 'product_carousel' | 'product_detail' | 'cta_url' | 'interactive';
        interactive?: any;
        buttons?: Array<{
            id: string;
            title: string;
            icon?: string;
            color?: string;
        }>;
        options?: Array<{
            id: string;
            title: string;
            icon?: string;
        }>;
        products?: Array<{
            id: string;
            name: string;
            description?: string;
            price: number;
            imageUrl?: string;
            rating?: number;
        }>;
        product?: {
            name: string;
            description?: string;
            price: number;
            imageUrl?: string;
        };
        url?: string;
        urlButtonText?: string;
        buttonText?: string;
        followUpOptions?: Array<{
            id: string;
            title: string;
            icon?: string;
        }>;
    };
}
export declare class WhatsAppBotEngine {
    private readonly prisma;
    private readonly sessionService;
    private readonly cartsService;
    private readonly productsService;
    private readonly ordersService;
    private readonly logger;
    constructor(prisma: PrismaService, sessionService: WhatsAppSessionService, cartsService: CartsService, productsService: ProductsService, ordersService: OrdersService);
    processMessage(businessId: string, whatsappNumber: string, messageBody: string): Promise<BotResponse>;
    private promptStoreSelection;
    private handleSelectStoreStep;
    private getWelcomeMessage;
    private handleWelcomeStep;
    private handleBrowseCategoriesStep;
    private handleBrowseProductsStep;
    private handleProductDetailsStep;
    private handlePostAddToCartStep;
    private handleAddMoreQuantityStep;
    private handleSearchProductsStep;
    private handleCartStep;
    private handleCheckoutNameStep;
    private handleCheckoutDeliveryStep;
    private handleCheckoutAddressStep;
    private printOrderConfirmationSummary;
    private handleCheckoutConfirmStep;
    private handleCheckoutEcoCashStep;
    private handleAwaitingPaymentStep;
    private printCart;
    private handleSupportStep;
    private resolveGoogleMapsCoordinates;
}
