import { ReportsService } from "./reports.service";
import { ProjectReportFiltersDto } from "./dto/project-report-filters.dto";
import { TimeEntriesReportFiltersDto } from "./dto/time-entries-report-filters.dto";
import { ProjectCostingFiltersDto } from "./dto/project-costing-filters.dto";
import { ProjectAnalyticsFiltersDto } from "./dto/project-analytics-filters.dto";
import { EmployeeProductivityFiltersDto } from "./dto/employee-productivity-filters.dto";
import { TimesheetReportFiltersDto } from "./dto/timesheet-report-filters.dto";
import { ClockInReportFiltersDto } from "./dto/clock-in-report-filters.dto";
import { ClockInReportExportDto } from "./dto/clock-in-report.dto";
import { ProjectReportExportDto } from "./dto/export-filters.dto";
import { Response } from "express";
import { DashboardResponseDto } from "./dto/dashboard-response.dto";
import { LeaveAnalyticsFiltersDto } from "./dto/leave-analytics-filters.dto";
import { ProjectManagementFiltersDto } from "./dto/project-management-filters.dto";
export declare class ReportsController {
    private readonly reportsService;
    constructor(reportsService: ReportsService);
    getDashboard(request: Request): Promise<DashboardResponseDto>;
    getActivityPercentage(filters: ProjectAnalyticsFiltersDto, request: Request): Promise<any>;
    getEmployeeProductivity(filters: EmployeeProductivityFiltersDto, request: Request): Promise<any>;
    getProjectAnalytics(filters: ProjectAnalyticsFiltersDto, request: Request): Promise<any>;
    getLeaveAnalytics(filters: LeaveAnalyticsFiltersDto, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    getProjectReport(filters: ProjectReportFiltersDto, request: Request): Promise<any>;
    getTimeEntriesReport(filters: TimeEntriesReportFiltersDto, request: Request): Promise<any>;
    getProjectCostingReport(filters: ProjectCostingFiltersDto, request: Request): Promise<any>;
    getProjectCostingList(filters: ProjectCostingFiltersDto, request: Request): Promise<any>;
    getTimesheetReport(filters: TimesheetReportFiltersDto, request: Request): Promise<any>;
    getClockInReport(filters: ClockInReportFiltersDto, request: Request): Promise<any>;
    getProjectManagementReport(filters: ProjectManagementFiltersDto, request: Request): Promise<any>;
    exportProjectReport(filters: ProjectReportExportDto, request: Request, res: Response): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    exportClockInReport(filters: ClockInReportExportDto, request: Request, res: Response): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    exportTimesheetReport(filters: TimesheetReportFiltersDto, request: Request, res: Response): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    exportProjectCostingList(filters: ProjectCostingFiltersDto, request: Request, res: Response): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    exportProjectCostingReport(filters: ProjectCostingFiltersDto, request: Request, res: Response): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    bulkUploadTimesheets(file: Express.Multer.File, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    } | {
        data: any;
        success: boolean;
        code: number;
        message: string;
    }>;
}
