import { CrudRepository, OCPP2_0_1, SystemConfig } from '@citrineos/base';
import { IReservationRepository } from '../../../interfaces';
import { SequelizeRepository } from './Base';
import { Sequelize } from 'sequelize-typescript';
import { ILogObj, Logger } from 'tslog';
import { Reservation } from '../model/Reservation';
import { Evse } from '../model/DeviceModel';
export declare class SequelizeReservationRepository extends SequelizeRepository<Reservation> implements IReservationRepository {
    evse: CrudRepository<Evse>;
    logger: Logger<ILogObj>;
    constructor(config: SystemConfig, logger?: Logger<ILogObj>, sequelizeInstance?: Sequelize, evse?: CrudRepository<Evse>);
    createOrUpdateReservation(reserveNowRequest: OCPP2_0_1.ReserveNowRequest, stationId: string, isActive?: boolean): Promise<Reservation | undefined>;
    getNextReservationId(stationId: string): Promise<number>;
}
