UNPKG

bluelinky2

Version:

An unofficial nodejs API wrapper for Hyundai bluelink

30 lines (29 loc) 1.58 kB
/// <reference types="node" /> import { AmericanBlueLinkyConfig } from './controllers/american.controller'; import { EuropeBlueLinkyConfig } from './controllers/european.controller'; import { CanadianBlueLinkyConfig } from './controllers/canadian.controller'; import { EventEmitter } from 'events'; import { Session } from './interfaces/common.interfaces'; import { REGIONS } from './constants'; import AmericanVehicle from './vehicles/american.vehicle'; import EuropeanVehicle from './vehicles/european.vehicle'; import CanadianVehicle from './vehicles/canadian.vehicle'; import { Vehicle } from './vehicles/vehicle'; declare type BluelinkyConfigRegions = AmericanBlueLinkyConfig | CanadianBlueLinkyConfig | EuropeBlueLinkyConfig; declare class BlueLinky<T extends BluelinkyConfigRegions = AmericanBlueLinkyConfig, REGION = T['region'], VEHICLE_TYPE extends Vehicle = (REGION extends REGIONS.US ? AmericanVehicle : REGION extends REGIONS.CA ? CanadianVehicle : EuropeanVehicle)> extends EventEmitter { private controller; private vehicles; private config; constructor(config: T); on(event: 'ready', fnc: (vehicles: VEHICLE_TYPE[]) => void): this; on(event: 'error', fnc: (error: any) => void): this; private onInit; login(): Promise<string>; getVehicles(): Promise<VEHICLE_TYPE[]>; getVehicle(input: string): VEHICLE_TYPE | undefined; refreshAccessToken(): Promise<string>; logout(): Promise<string>; getSession(): Session | null; get cachedVehicles(): VEHICLE_TYPE[]; } export default BlueLinky;