import { IRefreshAccessTokenResponse, IUser, IVehicle } from "./interfaces";
export default class TeslaAPI {
    private auth;
    setAccessToken(accessToken: string): void;
    /**
     * Retrieves the version of this package
     * @returns Version of the `@qualiture/tesla-api` package
     */
    getPackageVersion(): string;
    /**
     * Refreshes the access token using the refresh token
     * @param refreshToken The refresh token
     * @returns Object with access token and expiration
     */
    getRefreshedAccessToken(refreshToken: string): Promise<IRefreshAccessTokenResponse>;
    /**
     * Gets user details
     * @returns
     */
    getUser(): Promise<IUser>;
    /**
     * Retrieves all vehicle details for the current owner. Data is retrieved from Tesla servers (so not from car itself)
     * @returns Array of vehicles
     */
    getOwnerVehicles(): Promise<IVehicle[]>;
    /**
     * Retrieves all vehicle data and configuration. Data is retrieved from the vehicle itself, specified by the `vehicleId` parameter
     * @param vehicleId Value of `IVehicle.id`
     * @returns
     */
    getVehicleData(vehicleId: number, includeLocationData?: boolean): Promise<import("./interfaces").IVehicleData>;
    private getAxiosConfig;
}
