import { PlatformAccessory } from "homebridge";
import { VehicleSpecific } from "tesla-fleet-api";
import { VehicleDataResponse } from "tesla-fleet-api/dist/types/vehicle_data";
import { TeslaFleetApiPlatform } from "./platform.js";
import { EventEmitter } from "./utils/event.js";
export type VehicleContext = {
    vin: string;
    state: string;
};
export interface VehicleDataEvent {
    vehicle_data(data: VehicleDataResponse): void;
    offline(): void;
}
export declare class VehicleAccessory {
    readonly platform: TeslaFleetApiPlatform;
    readonly accessory: PlatformAccessory<VehicleContext>;
    vehicle: VehicleSpecific;
    emitter: EventEmitter<VehicleDataEvent>;
    constructor(platform: TeslaFleetApiPlatform, accessory: PlatformAccessory<VehicleContext>);
    refresh(first?: boolean): Promise<void>;
    wakeUpAndWait(): Promise<void>;
}
