import { ILogObj, Logger } from 'tslog';
import { AbstractModuleApi, CallAction, IMessageConfirmation, OCPP2_0_1 } from '@citrineos/base';
import { FastifyInstance } from 'fastify';
import { IReportingModuleApi } from '../interface';
import { ReportingModule } from '../module';
/**
 * Server API for the Reporting module.
 */
export declare class ReportingOcpp201Api extends AbstractModuleApi<ReportingModule> implements IReportingModuleApi {
    private readonly _componentDeviceDataCtrlr;
    /**
     * Constructs a new instance of the class.
     *
     * @param {ReportingModule} reportingModule - The Reporting module.
     * @param {FastifyInstance} server - The Fastify server instance.
     * @param {Logger<ILogObj>} [logger] - The logger instance.
     */
    constructor(reportingModule: ReportingModule, server: FastifyInstance, logger?: Logger<ILogObj>);
    getBaseReport(identifier: string[], tenantId: string, request: OCPP2_0_1.GetBaseReportRequest, callbackUrl?: string): Promise<IMessageConfirmation[]>;
    getCustomReport(identifier: string, tenantId: string, request: OCPP2_0_1.GetReportRequest, callbackUrl?: string): Promise<IMessageConfirmation>;
    getMonitoringReport(identifier: string, tenantId: string, request: OCPP2_0_1.GetMonitoringReportRequest, callbackUrl?: string): Promise<IMessageConfirmation>;
    getLog(identifier: string[], tenantId: string, request: OCPP2_0_1.GetLogRequest, callbackUrl?: string): Promise<IMessageConfirmation[]>;
    customerInformation(identifier: string[], tenantId: string, request: OCPP2_0_1.CustomerInformationRequest, callbackUrl?: string): Promise<IMessageConfirmation[]>;
    /**
     * Overrides superclass method to generate the URL path based on the input {@link CallAction}
     * and the module's endpoint prefix configuration.
     *
     * @param {CallAction} input - The input {@link CallAction}.
     * @return {string} - The generated URL path.
     */
    protected _toMessagePath(input: CallAction): string;
}
