import { BookingToolWrapper } from "../bookingagent/bookingagent.service";
import { ModelService } from "../model/model.service";
import { TwilioService } from "../twilio/twilio.service";
import { ClientMemoryAgentService } from "../common/client-memory-agent.service";
import { TopupService } from "../subscription/subscription.service";
import { ConfigService } from '@nestjs/config';
import type { Response } from 'express';
import { WhatsappService } from './whatsapp.service';
import { CreateMetaCredentialDto } from './dto/createmetacreds';
export declare class WhatsappController {
    private readonly agentService;
    private readonly modelService;
    private readonly twilioService;
    private readonly clientMemoryAgentService;
    private readonly topupService;
    private readonly configService;
    private readonly whatsappService;
    private readonly logger;
    constructor(agentService: BookingToolWrapper, modelService: ModelService, twilioService: TwilioService, clientMemoryAgentService: ClientMemoryAgentService, topupService: TopupService, configService: ConfigService, whatsappService: WhatsappService);
    create(req: any, dto: CreateMetaCredentialDto): Promise<import("mongoose").Document<unknown, {}, import("../model/schemas/meta.schema").MetaCredential, {}, {}> & import("../model/schemas/meta.schema").MetaCredential & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    sendCode(body: {
        code: string;
        waba_id: string;
        salonId: string;
    }): Promise<string>;
    stopInstagramEvents(req: any): Promise<boolean>;
    stopWhatsAppEvents(req: any): Promise<boolean>;
    sendInstagramCode(query: any, res: Response): Promise<void>;
    instagramDeauthorize(): {
        success: boolean;
    };
    metaDataDeletion(): {
        success: boolean;
    };
    handleIncomingWhatsAppStatus(query: any, res: Response): Promise<Response<any, Record<string, any>>>;
    handleIncomingInstagramStatus(query: any, res: Response): Promise<Response<any, Record<string, any>>>;
    instagramChat(body: any): Promise<"ok" | undefined>;
    whatsappChat(body: any): Promise<any>;
    private runCreditDeductionInBackground;
    handleFacebookCallback(code: string, salonId: string, wabaId: string): Promise<{
        success: boolean;
        message: string;
        data: string;
    }>;
    getStatus(req: any): Promise<{
        connected: boolean;
        status: string;
        phone?: undefined;
        profile?: undefined;
        message?: undefined;
    } | {
        connected: boolean;
        status: string;
        phone: string;
        profile: string;
        message?: undefined;
    } | {
        connected: boolean;
        status: string;
        message: string;
        phone?: undefined;
        profile?: undefined;
    }>;
    getInstagramStatus(req: any): Promise<{
        connected: boolean;
        status: string;
        instagramUserId?: undefined;
        profile?: undefined;
        message?: undefined;
    } | {
        connected: boolean;
        status: string;
        instagramUserId: string;
        profile: import("../model/schemas/instagram-connection.schema").InstagramProfile | undefined;
        message: string;
    } | {
        connected: boolean;
        status: string;
        message: string;
        instagramUserId?: undefined;
        profile?: undefined;
    }>;
}
