import { Account } from "./Account";
import { Vehicle } from "./Vehicle";
import { RemoteServiceResponse } from "./RemoteServiceResponse";
import { ServiceStatus } from "./ServiceStatus";
import { VehicleStatus } from "./VehicleStatus";
import { Regions } from "./Regions";
import { ITokenStore } from "./ITokenStore";
import { ILogger } from "./ILogger";
export declare class ConnectedDrive {
    serviceExecutionStatusCheckInterval: number;
    account: Account;
    logger?: ILogger;
    constructor(username: string, password: string, region: Regions, tokenStore?: ITokenStore, logger?: ILogger);
    getVehicles(): Promise<Vehicle[]>;
    getVehicleStatus(vin: string): Promise<VehicleStatus>;
    lockDoors(vin: string, waitExecution?: boolean): Promise<RemoteServiceResponse>;
    unlockDoors(vin: string, waitExecution?: boolean): Promise<RemoteServiceResponse>;
    startClimateControl(vin: string, waitExecution?: boolean): Promise<RemoteServiceResponse>;
    stopClimateControl(vin: string, waitExecution?: boolean): Promise<RemoteServiceResponse>;
    flashLights(vin: string, waitExecution?: boolean): Promise<RemoteServiceResponse>;
    blowHorn(vin: string, waitExecution?: boolean): Promise<RemoteServiceResponse>;
    private executeService;
    getServiceStatus(vin: string): Promise<ServiceStatus>;
    sendMessage(vin: string, subject: string, message: string): Promise<boolean>;
    request(url: string, isPost?: boolean, requestBody?: any): Promise<any>;
}
