import { REGIONS, ChargeTarget } from '../constants'; import { VehicleStatus, FullVehicleStatus, VehicleOdometer, VehicleLocation, VehicleRegisterOptions, VehicleStatusOptions, RawVehicleStatus, VehicleMonthlyReport, DeepPartial, VehicleTargetSOC, VehicleDayTrip, VehicleMonthTrip, VehicleStartOptions } from '../interfaces/common.interfaces'; import { Vehicle } from './vehicle'; import { ChineseController } from '../controllers/chinese.controller'; import { CNDatedDriveHistory, CNDriveHistory, CNPOIInformation, historyDrivingPeriod } from '../interfaces/chinese.interfaces'; export default class ChineseVehicle extends Vehicle { vehicleConfig: VehicleRegisterOptions; controller: ChineseController; region: REGIONS; serverRates: { max: number; current: number; reset?: Date; updatedAt?: Date; }; constructor(vehicleConfig: VehicleRegisterOptions, controller: ChineseController); /** * * @param config - Vehicle start configuration for the request * @returns Promise * @remarks - not sure if this supports starting ICE vehicles */ start(config: VehicleStartOptions): Promise; stop(): Promise; lock(): Promise; unlock(): Promise; fullStatus(input: VehicleStatusOptions): Promise; status(input: VehicleStatusOptions): Promise; odometer(): Promise; location(): Promise; startCharge(): Promise; stopCharge(): Promise; monthlyReport(month?: { year: number; month: number; }): Promise | undefined>; tripInfo(date: { year: number; month: number; day: number; }): Promise[] | undefined>; tripInfo(date?: { year: number; month: number; }): Promise | undefined>; driveHistory(period?: historyDrivingPeriod): Promise>; /** * Warning: Only works on EV */ getChargeTargets(): Promise[] | undefined>; /** * Warning: Only works on EV */ setChargeTargets(limits: { fast: ChargeTarget; slow: ChargeTarget; }): Promise; /** * Define a navigation route * @param poiInformations The list of POIs and waypoint to go through */ setNavigation(poiInformations: CNPOIInformation[]): Promise; private updateRates; }