UNPKG

autotrader-connect-api

Version:

Production-ready TypeScript wrapper for Auto Trader UK Connect APIs

143 lines 6.39 kB
/** * AutoTrader Connect API - Main Entry Point * Production-ready TypeScript wrapper for Auto Trader UK Connect APIs * * @author Your Organization * @version 1.0.0 * @license MIT */ export { ApiClient, getClient } from './client'; export { AuthManager, getAuthManager, getToken } from './auth'; export * from './modules/vehicles'; export { searchVehicles as searchVehiclesAdvanced, quickSearch, getSearchSuggestions, saveSearch, getSavedSearches, updateSavedSearch, deleteSavedSearch, executeSavedSearch, compareVehicles, getPopularSearches, getSearchAnalytics, trackSearchInteraction, getRelatedSearches, getMarketInsights } from './modules/search'; export * from './modules/stock'; export * from './modules/images'; export * from './modules/valuations'; export * from './modules/taxonomy'; export * from './modules/vehicleMetrics'; export * from './modules/futureValuations'; export * from './modules/historicValuations'; export { getResource as getDeals, listResources as listDeals } from './modules/deals'; export { getResource as getMessages, listResources as listMessages } from './modules/messages'; export { getResource as getPartExchange, listResources as listPartExchange } from './modules/partExchange'; export { getResource as getDelivery, listResources as listDelivery } from './modules/delivery'; export { getResource as getCalls, listResources as listCalls } from './modules/calls'; export { getResource as getCoDriver, listResources as listCoDriver } from './modules/coDriver'; export { getResource as getFinance, listResources as listFinance } from './modules/finance'; export { getCurrentAdvertiser, getAdvertiser, searchAdvertisers, getAllAdvertisers, updateAdvertiser, getAdvertiserStats, getAdvertiserVehicleCount, getNearbyAdvertisers, getTopRatedAdvertisers, getResource as getAdvertisers, listResources as listAdvertisers } from './modules/advertisers'; export * from './types/common'; export * from './types/auth'; export * from './types/vehicle'; export * from './types/stock'; export * from './types/search'; export type { ApiClientConfig, RequestOptions, ApiResponse, PaginatedResponse, ApiError, Pagination, SortOptions, DateRange, PriceRange, NumericRange, Location, ContactInfo, ImageInfo, HttpMethod, RateLimitConfig } from './types/common'; export type { AuthCredentials, AuthTokenResponse, StoredToken, AuthState, AuthConfig, AuthErrorType, AuthError, TokenValidation } from './types/auth'; export type { Vehicle, VehicleResponse, VehicleSearchParams, FuelType, TransmissionType, BodyType, VehicleCondition, ServiceHistory, VehicleSpecs, VehicleFeatures, VehicleHistory } from './types/vehicle'; export type { StockItem, StockResponse, StockSearchParams, StockListResponse, CreateStockRequest, UpdateStockRequest, StockStatistics, StockStatus, StockVisibility, BulkStockOperation, BulkOperationResponse } from './types/stock'; export type { SearchResponse, SearchFilters, SavedSearch, QuickSearchParams, SearchComparison, PopularSearch, SearchAnalytics, SearchFacets, SearchSuggestions, MarketInsights } from './types/search'; import client from './client'; export default client; /** * Package version */ export declare const VERSION = "1.0.0"; /** * Package name */ export declare const PACKAGE_NAME = "autotrader-connect-api"; /** * Initialize the AutoTrader Connect API client with configuration * @param config API client configuration * @returns Configured API client instance */ export declare function initializeClient(config: { apiKey: string; apiSecret: string; baseURL?: string; timeout?: number; maxRetries?: number; rateLimitRequests?: number; rateLimitWindow?: number; debug?: boolean; }): import("./client").ApiClient; /** * Quick setup with environment variables for rapid development * Automatically detects sandbox vs production based on NODE_ENV * @param options Optional configuration overrides * @returns Configured API client instance */ export declare function quickSetup(options?: { debug?: boolean; timeout?: number; forceSandbox?: boolean; forceProduction?: boolean; }): import("./client").ApiClient; /** * Setup client specifically for sandbox/testing environment * @param credentials Sandbox API credentials * @param options Optional configuration overrides * @returns Configured API client for sandbox */ export declare function setupSandbox(credentials?: { apiKey: string; apiSecret: string; baseURL?: string; }, options?: { debug?: boolean; timeout?: number; }): import("./client").ApiClient; /** * Setup client specifically for production environment * @param credentials Production API credentials * @param options Optional configuration overrides * @returns Configured API client for production */ export declare function setupProduction(credentials?: { apiKey: string; apiSecret: string; baseURL?: string; }, options?: { debug?: boolean; timeout?: number; }): import("./client").ApiClient; /** * Create a client scoped to a specific advertiser * @param advertiserId Advertiser ID to scope all operations to * @param options Optional configuration overrides * @returns Configured API client with advertiser context */ export declare function createAdvertiserClient(advertiserId: number, options?: { debug?: boolean; timeout?: number; useSandbox?: boolean; }): { get: <T>(url: string, requestOptions?: any) => Promise<T>; post: <T_1>(url: string, data?: any, requestOptions?: any) => Promise<T_1>; put: <T_2>(url: string, data?: any, requestOptions?: any) => Promise<T_2>; patch: <T_3>(url: string, data?: any, requestOptions?: any) => Promise<T_3>; delete: <T_4>(url: string, requestOptions?: any) => Promise<T_4>; advertiserId: number; }; /** * Validate advertiser ID format and existence * @param advertiserId Advertiser ID to validate * @returns Promise resolving to validation result */ export declare function validateAdvertiserId(advertiserId: number): Promise<{ valid: boolean; exists?: boolean; advertiserName?: string; error?: string; }>; /** * Health check function to verify API connectivity */ export declare function healthCheck(): Promise<{ status: 'healthy' | 'unhealthy'; timestamp: string; version: string; auth: boolean; latency?: number; error?: string; }>; //# sourceMappingURL=index.d.ts.map