import { AsyncSummary } from '../../../types/UserReports';
import { SummaryTemplate } from '../../../types/Templates';
import { components } from '../../../types/api';
import DataTableBuilder from '../../DataTableBuilder/DataTableBuilder';
import { SectionedDataHelper } from '../SectionedDataHelper/SectionedDataHelper';
import { ReportTemplateData, SectionData } from '../SectionedDataHelper/types';
import { DataTable } from '../../DataTableBuilder/types';
import { TemplateBuilder } from '../TemplateBuilder';
export declare class ReportBuilder extends TemplateBuilder {
    dataTableBuilder: DataTableBuilder;
    sectionBuilder: SectionedDataHelper;
    constructor(variant: components['schemas']['VariantDefinition']);
    buildMainTable(section: SectionData): DataTable;
    buildSummaryTables(summaries: AsyncSummary[]): Record<string, DataTable[]>;
    buildSummariesTables(section: SectionData): Record<string, DataTable[]>;
    groupSummaryTables(summaryTables: {
        template: SummaryTemplate;
        data: DataTable;
    }[]): Record<string, DataTable[]>;
    buildSectionedData(): {
        summaries: Record<string, DataTable[]>;
        data: DataTable;
        key?: string;
        keyObj: import("../SectionedDataHelper/types").SectionKey[];
        title?: string;
        count: number;
    }[];
    build(): ReportTemplateData;
}
