import { CrudRepository, OCPP2_0_1, SystemConfig } from '@citrineos/base';
import { Sequelize } from 'sequelize-typescript';
import { ILogObj, Logger } from 'tslog';
import { IAuthorizationRepository, ILocalAuthListRepository } from '../../../interfaces';
import { LocalListAuthorization, LocalListVersion, SendLocalList } from '../model/Authorization';
import { SequelizeRepository } from './Base';
export declare class SequelizeLocalAuthListRepository extends SequelizeRepository<LocalListVersion> implements ILocalAuthListRepository {
    authorization: IAuthorizationRepository;
    localListAuthorization: CrudRepository<LocalListAuthorization>;
    sendLocalList: CrudRepository<SendLocalList>;
    constructor(config: SystemConfig, logger?: Logger<ILogObj>, sequelizeInstance?: Sequelize, authorization?: IAuthorizationRepository, localListAuthorization?: CrudRepository<LocalListAuthorization>, sendLocalList?: CrudRepository<SendLocalList>);
    createSendLocalListFromRequestData(stationId: string, correlationId: string, updateType: OCPP2_0_1.UpdateEnumType, versionNumber: number, localAuthorizationList?: OCPP2_0_1.AuthorizationData[]): Promise<SendLocalList>;
    validateOrReplaceLocalListVersionForStation(versionNumber: number, stationId: string): Promise<void>;
    getSendLocalListRequestByStationIdAndCorrelationId(stationId: string, correlationId: string): Promise<SendLocalList | undefined>;
    createOrUpdateLocalListVersionFromStationIdAndSendLocalList(stationId: string, sendLocalList: SendLocalList): Promise<LocalListVersion>;
    private replaceLocalListVersionFromStationIdAndSendLocalList;
    private updateLocalListVersionFromStationIdAndSendLocalListRequest;
}
