import { AnalyticsService } from './analytics.service';
import { GetRevenueDto } from './dto/get-revenue.dto';
export declare class RevenueController {
    private readonly analyticsService;
    constructor(analyticsService: AnalyticsService);
    getStylistRevenue(req: any, query: GetRevenueDto): Promise<{
        weeklyTotal: number;
        dailyAverage: number;
        stylists: Record<string, Record<string, number>>;
    }>;
    getAllSalonsRevenue(query: {
        date?: string;
    }): Promise<{
        grandTotal: any;
        salons: {
            salonId: any;
            salonName: any;
            totalRevenue: any;
            appointments: any;
        }[];
    }>;
    getCurrentAppointments(req: any, query: {
        salonId?: string;
    }): Promise<{
        numberOfAppointments: number;
        expectedRevenue: any;
        timezone: string;
        appointments: any[];
    }>;
    getOccupancyRate(req: any, query: {
        salonId?: string;
    }): Promise<{
        stylist: string;
        occupancyRate: number;
    }[]>;
    getServiceAppointments(req: any, includeSpent: string, query: {
        salonId?: string;
    }): Promise<any[]>;
    getBookingsAnalytics(req: any, query: {
        salonId?: string;
        range?: 'daily' | 'weekly' | 'monthly';
    }): Promise<{
        label: any;
        bookings: any;
    }[]>;
    getEarnings(req: any, query: {
        salonId?: string;
        range?: 'daily' | 'weekly' | 'monthly';
    }): Promise<{
        label: string;
        earnings: number;
    }[]>;
    getPeakHours(req: any, query: {
        salonId?: string;
    }): Promise<{
        hour: string;
        bookings: any;
    }[]>;
    getBookingRatio(req: any, query: {
        salonId?: string;
    }): Promise<{
        confirmed: number;
        pending: number;
        ratio: number;
    }>;
    getStylistPerformance(req: any, query: {
        salonId?: string;
    }): Promise<any[]>;
    getRevenueStats(req: any, query: {
        salonId?: string;
    }): Promise<{
        totalRevenue: any;
        monthlyRevenue: any;
        todayRevenue: any;
    }>;
    getAppointmentStats(req: any, query: {
        salonId?: string;
    }): Promise<{
        todayAppointments: number;
        totalAppointments: number;
    }>;
    getDailyMetrics(req: any, query: {
        salonId?: string;
    }): Promise<{
        totalAppointments: number;
        dailyRevenue: any;
        remainingSlots: number;
    }>;
    getClientStats(req: any, query: {
        salonId?: string;
    }): Promise<{
        totalClients: number;
        newClientsToday: number;
    }>;
    overview(): Promise<{
        total_salons: number;
        total_bookings: number;
        total_users: number;
    }>;
    growth(months: string): Promise<{
        salons: any[];
        users: any[];
        bookings: any[];
    }>;
    retention(months: string): Promise<{
        retention_rate: number;
    }>;
    getAllSalonsCallDuration(startDate?: string, endDate?: string, salonId?: string): Promise<any[]>;
    getSalonCallDuration(req: any, startDate?: string, endDate?: string): Promise<any>;
    getCallAnalysis(req: any): Promise<{
        success: boolean;
        data: any;
    }>;
    countAiAppointments(req: any): Promise<{
        salonId: any;
        aiAppointmentsCount: number;
    }>;
}
