import { FastifyInstance } from 'fastify';
import { ILogObj, Logger } from 'tslog';
import { IConfigurationModuleApi } from '../interface';
import { ConfigurationModule } from '../module';
import { AbstractModuleApi, CallAction, IMessageConfirmation, OCPP1_6 } from '@citrineos/base';
/**
 * Server API for the Configuration component.
 */
export declare class ConfigurationOcpp16Api extends AbstractModuleApi<ConfigurationModule> implements IConfigurationModuleApi {
    /**
     * Constructor for the class.
     *
     * @param {ConfigurationModule} ConfigurationComponent - The Configuration component.
     * @param {FastifyInstance} server - The server instance.
     * @param {Logger<ILogObj>} [logger] - Optional logger instance.
     */
    constructor(ConfigurationComponent: ConfigurationModule, server: FastifyInstance, logger?: Logger<ILogObj>);
    triggerMessage(identifier: string[], tenantId: string, request: OCPP1_6.TriggerMessageRequest, callbackUrl?: string): Promise<IMessageConfirmation[]>;
    changeConfiguration(identifier: string[], tenantId: string, request: OCPP1_6.ChangeConfigurationRequest, callbackUrl?: string): Promise<IMessageConfirmation[]>;
    getConfiguration(identifier: string[], tenantId: string, request: OCPP1_6.GetConfigurationRequest, callbackUrl?: string): Promise<IMessageConfirmation[]>;
    reset(identifier: string[], tenantId: string, request: OCPP1_6.ResetRequest, callbackUrl?: string): Promise<IMessageConfirmation[]>;
    changeAvailability(identifier: string[], tenantId: string, request: OCPP1_6.ChangeAvailabilityRequest, 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;
}
