import type { ILogObj } from 'tslog';
import { Logger } from 'tslog';
import type { CallAction, IMessageConfirmation } from '@citrineos/base';
import { AbstractModuleApi, OCPP1_6 } from '@citrineos/base';
import type { FastifyInstance } from 'fastify';
import type { IReportingModuleApi } from '../interface.js';
import { ReportingModule } from '../module.js';
/**
 * Server API for the Reporting module (OCPP 1.6).
 */
export declare class ReportingOcpp16Api extends AbstractModuleApi<ReportingModule> implements IReportingModuleApi {
    /**
     * 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>);
    getDiagnostics(identifier: string[], request: OCPP1_6.GetDiagnosticsRequest, callbackUrl?: string, tenantId?: number): 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;
}
