import { CrudRepository, SystemConfig, type BootConfig, OCPP2_0_1 } from '@citrineos/base';
import { type IBootRepository } from '../../../interfaces';
import { Boot } from '../model/Boot';
import { VariableAttribute } from '../model/DeviceModel';
import { SequelizeRepository } from '..';
import { Logger, ILogObj } from 'tslog';
import { Sequelize } from 'sequelize-typescript';
export declare class SequelizeBootRepository extends SequelizeRepository<Boot> implements IBootRepository {
    variableAttributes: CrudRepository<VariableAttribute>;
    constructor(config: SystemConfig, logger?: Logger<ILogObj>, sequelizeInstance?: Sequelize, variableAttributes?: CrudRepository<VariableAttribute>);
    createOrUpdateByKey(value: BootConfig, key: string): Promise<Boot | undefined>;
    updateStatusByKey(status: OCPP2_0_1.RegistrationStatusEnumType, statusInfo: OCPP2_0_1.StatusInfoType | undefined, key: string): Promise<Boot | undefined>;
    updateLastBootTimeByKey(lastBootTime: string, key: string): Promise<Boot | undefined>;
    /**
     * Private Methods
     */
    private manageSetVariables;
}
