import { Repository, DataSource } from 'typeorm';
import { Project } from '../projects/entities/project.entity.js';
import { Payment } from '../payments/entities/payment.entity.js';
import { Company } from '../companies/entities/company.entity.js';
import { DashboardReportDto } from './dto/dashboard-report.dto.js';
import { OutstandingQueryDto, OutstandingProjectDto } from './dto/outstanding-report.dto.js';
import { PaymentQueryDto, PaymentReportItemDto } from './dto/payment-report.dto.js';
import { PaginatedResponseDto } from '../common/dto/pagination.dto.js';
export declare class ReportsService {
    private projectsRepository;
    private paymentsRepository;
    private companiesRepository;
    private dataSource;
    constructor(projectsRepository: Repository<Project>, paymentsRepository: Repository<Payment>, companiesRepository: Repository<Company>, dataSource: DataSource);
    getDashboard(): Promise<DashboardReportDto>;
    getOutstanding(query: OutstandingQueryDto): Promise<PaginatedResponseDto<OutstandingProjectDto>>;
    getPayments(query: PaymentQueryDto): Promise<PaginatedResponseDto<PaymentReportItemDto>>;
}
