import fetchApiKey from "./apis/fetchApiKey"; import fetchAskPrices from "./apis/fetchAskPrices"; import fetchBidPrices from "./apis/fetchBidPrices"; import fetchProductDetails from "./apis/fetchProductDetails"; import fetchSales from "./apis/fetchSales"; import searchProducts from "./apis/searchProducts"; import { Product, ProductWithMarketAndSizeMap } from "./interfaces"; import { GetAskPriceResponse, GetBidPriceResponse, GetSalesResponse, } from "./interfaces/Price"; interface Scraper { searchProducts(query: string): Promise>; fetchProductDetails(query: string): Promise; fetchApiKey(query: string): Promise; fetchAskPrices(query: string): Promise; fetchBidPrices(query: string): Promise; fetchSales(query: string): Promise; } export class StockXScraper implements Scraper { async searchProducts(query: string): Promise> { return searchProducts(query); } async fetchProductDetails( query: string ): Promise { return fetchProductDetails(query); } async fetchApiKey(): Promise { return fetchApiKey(); } async fetchAskPrices(query: string): Promise { return fetchAskPrices(query); } async fetchBidPrices(query: string): Promise { return fetchBidPrices(query); } async fetchSales(query: string): Promise { return fetchSales(query); } }