autotrader-connect-api
Version:
Production-ready TypeScript wrapper for Auto Trader UK Connect APIs
146 lines • 4.73 kB
TypeScript
/**
* Vehicles module for AutoTrader API
* Handles vehicle-related endpoints and operations
*/
import { VehicleResponse, VehicleSearchParams } from '../types/vehicle';
import { PaginatedResponse } from '../types/common';
/**
* Get a specific vehicle by registration and advertiser ID
* @param registration Vehicle registration number
* @param advertiserId Advertiser/dealer ID
* @returns Promise resolving to vehicle data
*/
export declare function getVehicle(registration: string, advertiserId: number): Promise<VehicleResponse>;
/**
* Get vehicle by ID
* @param vehicleId Unique vehicle identifier
* @returns Promise resolving to vehicle data
*/
export declare function getVehicleById(vehicleId: string): Promise<VehicleResponse>;
/**
* Search for vehicles with various filters
* @param params Search parameters and filters
* @returns Promise resolving to paginated vehicle results
*/
export declare function searchVehicles(params?: VehicleSearchParams): Promise<PaginatedResponse<VehicleResponse>>;
/**
* Get featured vehicles
* @param limit Maximum number of vehicles to return
* @returns Promise resolving to array of featured vehicles
*/
export declare function getFeaturedVehicles(limit?: number): Promise<VehicleResponse[]>;
/**
* Get similar vehicles to a given vehicle
* @param vehicleId Reference vehicle ID
* @param limit Maximum number of similar vehicles to return
* @returns Promise resolving to array of similar vehicles
*/
export declare function getSimilarVehicles(vehicleId: string, limit?: number): Promise<VehicleResponse[]>;
/**
* Get vehicle recommendations based on search criteria
* @param params Search parameters to base recommendations on
* @param limit Maximum number of recommendations to return
* @returns Promise resolving to array of recommended vehicles
*/
export declare function getVehicleRecommendations(params: Partial<VehicleSearchParams>, limit?: number): Promise<VehicleResponse[]>;
/**
* Get vehicle pricing history
* @param vehicleId Vehicle identifier
* @returns Promise resolving to pricing history data
*/
export declare function getVehiclePricingHistory(vehicleId: string): Promise<{
history: Array<{
date: string;
price: number;
priceChange?: number;
priceChangePercentage?: number;
}>;
currentPrice: number;
averagePrice: number;
priceAnalysis: {
trend: 'increasing' | 'decreasing' | 'stable';
volatility: 'low' | 'medium' | 'high';
recommendation: string;
};
}>;
/**
* Get vehicle market analysis
* @param vehicleId Vehicle identifier
* @returns Promise resolving to market analysis data
*/
export declare function getVehicleMarketAnalysis(vehicleId: string): Promise<{
marketPosition: {
percentile: number;
competitiveRating: 'Excellent' | 'Good' | 'Fair' | 'Poor';
priceVsMarket: number;
};
similarVehicles: {
count: number;
averagePrice: number;
priceRange: {
min: number;
max: number;
};
};
marketTrends: {
demand: 'High' | 'Medium' | 'Low';
supply: 'High' | 'Medium' | 'Low';
priceDirection: 'Rising' | 'Falling' | 'Stable';
};
recommendations: string[];
}>;
/**
* Get vehicle specifications and features
* @param vehicleId Vehicle identifier
* @returns Promise resolving to detailed specifications
*/
export declare function getVehicleSpecifications(vehicleId: string): Promise<{
basicSpecs: {
make: string;
model: string;
variant: string;
year: number;
engineSize: number;
power: number;
torque: number;
fuelType: string;
transmission: string;
};
performance: {
topSpeed?: number;
acceleration?: number;
fuelConsumption: {
urban?: number;
extraUrban?: number;
combined?: number;
};
};
dimensions: {
length: number;
width: number;
height: number;
wheelbase: number;
bootCapacity?: number;
};
features: {
standard: string[];
optional: string[];
safety: string[];
};
}>;
/**
* Check vehicle availability
* @param vehicleId Vehicle identifier
* @returns Promise resolving to availability information
*/
export declare function checkVehicleAvailability(vehicleId: string): Promise<{
available: boolean;
status: 'Available' | 'Reserved' | 'Sold' | 'Withdrawn';
reservedUntil?: string;
estimatedAvailability?: string;
alternativeOptions?: {
similarVehicles: VehicleResponse[];
waitingList: boolean;
};
}>;
//# sourceMappingURL=vehicles.d.ts.map