import { ConfigService } from '@nestjs/config';
import { AppointmentService } from '../appointment/appointment.service';
import { AvailabilityService } from '../appointment/appointmenthelper';
import { ModelService } from '../model/model.service';
import { ClientService } from '../client/client.service';
import { OfferService } from "../offer/offer.service";
import { TwilioService } from '../twilio/twilio.service';
export declare enum AppointmentStatus {
    CONFIRMED = "confirmed",
    PENDING = "pending",
    CANCELLED = "cancelled"
}
export declare enum AgentType {
    CALL = "call",
    CHAT = "chat",
    WHATSAPP = "whatsapp"
}
export declare class BookingCallToolWrapper {
    private readonly configService;
    private readonly clientService;
    private readonly model;
    private readonly appointmentService;
    private readonly offerService;
    private readonly availabilityService;
    private readonly twilioService;
    private readonly logger;
    readonly agent: any;
    private llm;
    private structuredModel;
    private offerStructuredServiceModel;
    private readonly contextSchema;
    private logToolInput;
    private logToolOutput;
    private logToolError;
    private resolveServiceIds;
    private resolveOfferId;
    constructor(configService: ConfigService, clientService: ClientService, model: ModelService, appointmentService: AppointmentService, offerService: OfferService, availabilityService: AvailabilityService, twilioService: TwilioService);
    getChatHistory(chatId: string, chatLimit?: number | 'all'): Promise<any[]>;
    private formatBookingsForCall;
    buildChatMessages(chatId: string, userMessage: string, clientId: string, trainingDataText: string, timezone: string): Promise<{
        role: "system" | "user" | "assistant";
        content: string;
    }[]>;
    saveMessage(role: 'user' | 'assistant' | 'tool', text: string, chatId: string, clientId?: string, salonId?: string): Promise<void>;
}
