/// <reference types="bluebird" />
import * as BluebirdPromise from 'bluebird';
import { Store } from '../store';
import { Clients } from '../clients';
import { Managers } from '../managers';
import { BuildWithFailDetails } from '../types';
export declare class Report {
    private executionStore;
    private statisticsStore;
    private bambooClient;
    private commentsManager;
    private failingTestsManager;
    private flakyIssuesManager;
    private labelManager;
    private unknownCauseManager;
    constructor(store: Store, clients: Clients, managers: Managers);
    report({dryRun}: {
        dryRun?: boolean;
    }): BluebirdPromise<Array<BuildWithFailDetails>>;
    summary(failReasons: Array<string>): {
        total: number;
        reasonsCount: Array<{
            reason: string;
            count: number;
        }>;
    };
    updateIssues(buildsWithFailDetails: Array<BuildWithFailDetails>, date: Date): Promise<number>;
    private saveExecution(buildsWithFailDetails, date);
    private saveStatistics(buildsWithFailDetails);
}
