import { BookingToolWrapper } from './bookingagent.service';
import { ChatDto } from './dto/chat.dto';
import { CommonService } from "../common/common.service";
import { ModelService } from "../model/model.service";
import { TwilioService } from "../twilio/twilio.service";
import { TopupService } from "../subscription/subscription.service";
import { ClientMemoryAgentService } from '../common/client-memory-agent.service';
import { CreateVoiceMappingDto, UpdateVoiceMappingDto } from './dto/create-voice-mapping.dto';
import { VoiceMappingService } from './voice-mapping.service';
import { SalonVoiceSettingsService } from './salon-voice-settings.service';
import { CreateSalonVoiceSettingsDto, UpdateSalonVoiceSettingsDto } from './dto/create-salon-voice-settings.dto';
export declare class BookingAgentController {
    private readonly agentService;
    private readonly commonService;
    private readonly modelService;
    private readonly twilioService;
    private readonly clientMemoryAgentService;
    private readonly topupService;
    private readonly voiceMappingService;
    private readonly salonVoiceSettingsService;
    private readonly logger;
    constructor(agentService: BookingToolWrapper, commonService: CommonService, modelService: ModelService, twilioService: TwilioService, clientMemoryAgentService: ClientMemoryAgentService, topupService: TopupService, voiceMappingService: VoiceMappingService, salonVoiceSettingsService: SalonVoiceSettingsService);
    chat(body: ChatDto): Promise<{
        chatId: any;
        clientId: any;
        reply: any;
        imageUrl: string;
    }>;
    whatsappChat(body: any): Promise<string>;
    private runCreditDeductionInBackground;
    handleIncomingSms(body: any): Promise<string>;
    getChatHistory(chatId: string, platformUsed?: string): Promise<{
        role: any;
        content: any;
    }[]>;
    create(dto: CreateVoiceMappingDto): Promise<import("mongoose").Document<unknown, {}, import("../model/schemas/voice-mapping.schema").VoiceMapping, {}, {}> & import("../model/schemas/voice-mapping.schema").VoiceMapping & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    findAll(): Promise<(import("mongoose").FlattenMaps<{
        provider: string;
        languages: {
            [x: string]: {
                label: string;
                voices: {
                    id: string;
                    name: string;
                    gender: "Male" | "Female";
                    type: "Generative" | "Neural" | "Standard";
                }[];
            };
        };
    }> & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    })[]>;
    findOne(provider: string): Promise<import("mongoose").FlattenMaps<{
        provider: string;
        languages: {
            [x: string]: {
                label: string;
                voices: {
                    id: string;
                    name: string;
                    gender: "Male" | "Female";
                    type: "Generative" | "Neural" | "Standard";
                }[];
            };
        };
    }> & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    update(provider: string, dto: UpdateVoiceMappingDto): Promise<import("mongoose").Document<unknown, {}, import("../model/schemas/voice-mapping.schema").VoiceMapping, {}, {}> & import("../model/schemas/voice-mapping.schema").VoiceMapping & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    remove(provider: string): Promise<{
        message: string;
    }>;
    createVoicesettings(req: any, dto: CreateSalonVoiceSettingsDto): Promise<import("mongoose").Document<unknown, {}, import("../model/schemas/salon-voice-settings.schema").SalonVoiceSettings, {}, {}> & import("../model/schemas/salon-voice-settings.schema").SalonVoiceSettings & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    findOneVoicesettings(req: any): Promise<(import("mongoose").FlattenMaps<{
        salonId: import("mongoose").Types.ObjectId;
        voice_settings: {
            provider: string;
            language: string;
            voice?: string | undefined;
            voiceGender?: "Male" | "Female" | undefined;
            voiceType?: "Generative" | "Neural" | "Standard" | undefined;
            ttsLanguage?: string | undefined;
            transcriptionLanguage?: string | undefined;
        };
        welcome_message?: string | undefined;
    }> & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }) | null>;
    updateVoicesettings(req: any, dto: UpdateSalonVoiceSettingsDto): Promise<import("mongoose").Document<unknown, {}, import("../model/schemas/salon-voice-settings.schema").SalonVoiceSettings, {}, {}> & import("../model/schemas/salon-voice-settings.schema").SalonVoiceSettings & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    removeVoicesettings(req: any): Promise<{
        message: string;
    }>;
}
