import type { IReportService } from '../../interfaces/services/report-service';
import type { DetailedReport, CombinedReport } from '../../interfaces/core/types';
import type { ReportSummary } from '../../interfaces/use-cases/report-use-cases';
import type { IReportRepository } from '../../interfaces/repositories/report-repository';
import type { ISessionMetaRepository } from '../../interfaces/repositories/session-meta-repository';
import type { IUnifiedEventBus } from '../../interfaces/events/unified-event-bus';
export declare class ReportService implements IReportService {
    private reportRepository;
    private sessionRepository;
    private eventBus;
    constructor(reportRepository: IReportRepository, sessionRepository: ISessionMetaRepository, eventBus: IUnifiedEventBus);
    getSessionReport(label: string): DetailedReport | null;
    waitForSessionReport(label: string, timeoutMs?: number): Promise<DetailedReport>;
    hasSessionReport(label: string): boolean;
    generateCombinedReport(): CombinedReport;
    getCombinedReportAsync(): Promise<CombinedReport>;
    watchSessionReport(label: string, callback: (report: DetailedReport) => void): () => void;
    watchAllReports(callback: (sessionLabel: string, report: DetailedReport) => void): () => void;
    getReportSummary(): ReportSummary;
    exportReports(format: 'json' | 'html'): Promise<string>;
    clearAllReports(): void;
    validateSessionReport(sessionLabel: string): boolean;
    getReportValidationErrors(sessionLabel: string): string[];
}
//# sourceMappingURL=report-service.d.ts.map