import type { AccessToken } from "@itwin/core-bentley";
import type { EntityListIterator } from "../../common/iterators/EntityListIterator";
import { OperationsBase } from "../../common/OperationsBase";
import type { Report, ReportAggregation, ReportAggregationCreate, ReportCreate, ReportMapping, ReportMappingCreate, ReportUpdate } from "../interfaces/Reports";
import type { IReportsClient } from "./IReportsClient";
export declare class ReportsClient extends OperationsBase implements IReportsClient {
    constructor(basePath?: string);
    getReports(accessToken: AccessToken, projectId: string, top?: number, deleted?: boolean): Promise<Report[]>;
    getReportsIterator(accessToken: AccessToken, projectId: string, top?: number, deleted?: boolean): EntityListIterator<Report>;
    getReport(accessToken: AccessToken, reportId: string): Promise<Report>;
    createReport(accessToken: AccessToken, report: ReportCreate): Promise<Report>;
    updateReport(accessToken: AccessToken, reportId: string, report: ReportUpdate): Promise<Report>;
    deleteReport(accessToken: AccessToken, reportId: string): Promise<Response>;
    getReportMappings(accessToken: AccessToken, reportId: string, top?: number): Promise<ReportMapping[]>;
    getReportMappingsIterator(accessToken: AccessToken, reportId: string, top?: number): EntityListIterator<ReportMapping>;
    createReportMapping(accessToken: AccessToken, reportId: string, reportMapping: ReportMappingCreate): Promise<ReportMapping>;
    deleteReportMapping(accessToken: AccessToken, reportId: string, reportMappingId: string): Promise<Response>;
    getReportAggregations(accessToken: AccessToken, reportId: string, top?: number): Promise<ReportAggregation[]>;
    getReportAggregationsIterator(accessToken: AccessToken, reportId: string, top?: number): EntityListIterator<ReportAggregation>;
    createReportAggregation(accessToken: AccessToken, reportId: string, aggregation: ReportAggregationCreate): Promise<ReportAggregation>;
    deleteReportAggregation(accessToken: AccessToken, reportId: string, aggregationTableSetId: string): Promise<Response>;
}
//# sourceMappingURL=ReportsClient.d.ts.map