import { DashboardService } from './dashboard.service';
import { User } from '../users/entities/user.entity';
export declare class DashboardController {
    private readonly dashboardService;
    constructor(dashboardService: DashboardService);
    getStats(user: User): Promise<{
        totalRevenue: any;
        totalVotes: any;
        activeCampaigns: number;
        monthRevenue: any;
    }>;
    getRevenueChart(user: User, days?: string): Promise<{
        date: string;
        revenue: number;
        votes: number;
    }[]>;
    getRecentActivity(user: User, limit?: string): Promise<{
        id: string;
        voter_name: string;
        contestant_name: string;
        campaign_title: string;
        votes: number;
        amount: number;
        paid_at: Date;
    }[]>;
    getCampaignStats(user: User, campaignId: string): Promise<{
        totalVotes: any;
        totalRevenue: any;
        topContestant: {
            name: string;
            votes: number;
        };
        contestantsCount: number;
    }>;
    getCampaignAnalytics(user: User, campaignId: string, days?: string): Promise<{
        campaign: {
            id: string;
            title: string;
            slug: string;
            status: import("../campaigns/entities/campaign.entity").CampaignStatus;
            vote_price: number;
            starts_at: Date;
            ends_at: Date;
        };
        summary: {
            totalVotes: number;
            totalRevenue: number;
            totalTransactions: number;
            totalContestants: number;
            avgVotesPerTransaction: number;
            avgTransactionValue: number;
        };
        leaderboard: {
            rank: number;
            id: string;
            name: string;
            photo_url: string;
            votes: number;
            percentage: string;
        }[];
        chartData: {
            date: string;
            votes: number;
            revenue: number;
            transactions: number;
        }[];
        hourlyData: {
            hour: number;
            label: string;
            count: number;
        }[];
        voteDistribution: {
            id: string;
            name: string;
            votes: number;
            percentage: string;
        }[];
        recentTransactions: {
            id: string;
            voter_name: string;
            contestant_name: string;
            votes: number;
            amount: number;
            paid_at: Date;
        }[];
    }>;
}
