import { DashboardService } from './dashboard.service';
export declare class DashboardController {
    private readonly dashboardService;
    constructor(dashboardService: DashboardService);
    getAdminDashboard(): Promise<{
        vendors: number;
        pharmacies: number;
        totalSalesQuantity: number;
        totalSalesTransactions: number;
        pendingCommissions: number;
        pendingPaymentsCount: number;
    }>;
    getTopVendors(limit?: number, periodType?: string): Promise<{
        rank: number;
        id: string;
        name: string;
        phone: string;
        pharmacy: {
            name: string;
            region: string;
        };
        totalQuantitySold: number;
        totalCommission: number;
        paidCommission: number;
        pendingCommission: number;
    }[]>;
    getTopPharmacies(limit?: number): Promise<{
        id: string;
        name: string;
        region: string;
        activeVendors: number;
        totalSales: number;
        totalCommission: number;
    }[]>;
    getRecentActivity(): Promise<({
        vendor: {
            pharmacy: {
                name: string;
            };
            name: string;
        };
    } & {
        id: string;
        createdAt: Date;
        vendorId: string;
        productId: string | null;
        productName: string;
        quantity: number;
        unitPrice: number;
        saleDate: Date;
        periodId: string | null;
    })[]>;
    getSalesOverTime(days?: number): Promise<{
        count: number;
        quantity: number;
        date: string;
    }[]>;
    getSalesByProduct(days?: number): Promise<{
        product: string;
        quantity: number;
        count: number;
        percentage: number;
    }[]>;
    getSalesByWilaya(days?: number): Promise<{
        quantity: number;
        count: number;
        wilaya: string;
    }[]>;
    getPaymentStatus(): Promise<{
        paid: {
            amount: number;
            count: number;
        };
        pending: {
            amount: number;
            count: number;
        };
    }>;
    getTiersDistribution(days?: number): Promise<{
        tier: string;
        count: number;
    }[]>;
    getVendorStats(): Promise<{
        activeWithSales: number;
        activeWithoutSales: number;
        inactive: number;
        total: number;
    }>;
}
