import { Repository } from "typeorm";
import { Campaign } from "../../entities/campaign.entity";
import { Users } from "../../entities/users.entity";
import { CampaignRepository } from "./campaign.repository";
import { UsersServices } from "src/common/services/users/users.service";
import { SocketGateway } from "src/common/services/socket/socket.gateway";
import { CommonService } from "../common/common.services";
import { StripeServices } from "src/common/services/payment-gateway/stripe/stripe.service";
import { ReportDto } from "./dtos/report.dto";
import { Posts } from "src/entities/posts.entity";
export declare class ReportService {
    private campaignRepository;
    private UsersServices;
    private SocketGateway;
    private CommonService;
    private StripeService;
    private Campaign;
    private Users;
    private Posts;
    constructor(campaignRepository: CampaignRepository, UsersServices: UsersServices, SocketGateway: SocketGateway, CommonService: CommonService, StripeService: StripeServices, Campaign: Repository<Campaign>, Users: Repository<Users>, Posts: Repository<Posts>);
    campaignNameList(auth: any): Promise<Campaign[]>;
    report(request: ReportDto, auth: any): Promise<{
        statistics: any;
        barChart: any[];
        pieChart: {
            platform: any;
            posts: any;
            percentage: string;
        }[];
        postRows: Posts[];
    }>;
    commonQuery(startDate: any, endDate: any, request: any): Promise<import("typeorm").SelectQueryBuilder<Posts>>;
    statistics(request: any): Promise<any>;
    postRows(request: any): Promise<Posts[]>;
    pieChart(request: any): Promise<{
        platform: any;
        posts: any;
        percentage: string;
    }[]>;
    getLastDateRange(days: any, type: any): Promise<{
        startDate: any;
        endDate: any;
    }>;
    pieChartQuery(startDate: any, endDate: any, platform: any, request: any): Promise<number>;
    barChart(request: any): Promise<any[]>;
    barChartQuery(startDate: any, endDate: any, request: any): Promise<number>;
    getLastMonths(monthsCount: number): Promise<any[]>;
    getLastNDays(days: any): Promise<any[]>;
    exportReport(queryParam: any, res: any, auth: any): Promise<void>;
}
