bluelinky2
Version:
An unofficial nodejs API wrapper for Hyundai bluelink
30 lines (29 loc) • 1.58 kB
TypeScript
/// <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;