import { type ILogObj, Logger } from 'tslog'; import { type HandlerProperties, type IMessage } from '../messages/index.js'; import type { OcppRequest, OcppResponse } from '@citrineos/types'; import type { IHandler } from './handler.js'; export interface AbstractHandlerDependencies { logger: Logger; } export declare abstract class AbstractHandler implements IHandler { protected readonly _logger: Logger; protected readonly createHandlerReceivedMessageLog: (messageType: string) => string; protected readonly createHandlerSentMessageLog: (messageType: string) => string; constructor(logger: Logger); abstract handle(message: IMessage, props?: HandlerProperties): Promise; }