/** * Walmart Handler * * Extracts product data from Walmart.com * Uses embedded JSON data and structured data from product pages. * * URL Patterns: * - /ip//<id> - Product page * - /search?q=<query> - Search results * - /browse/<category> - Category page * * Data Sources: * - __NEXT_DATA__ (Next.js SSR data) * - JSON-LD structured data * - HTML parsing fallback * * Note: Walmart has strong anti-bot protection. When direct fetches get * challenged, the cascade falls through to Playwright rendering. */ import { BaseSiteHandler, type SiteHandlerResult, type FetchFunction, type SiteHandlerOptions } from './types.js'; export declare class WalmartHandler extends BaseSiteHandler { name: string; strategy: "api:walmart"; /** * Check if URL is a Walmart URL */ canHandle(url: string): boolean; /** * Extract data from Walmart */ extract(url: string, fetchFn: FetchFunction, _options: SiteHandlerOptions): Promise<SiteHandlerResult | null>; /** * Extract product data from a product page */ private extractProduct; /** * Extract __NEXT_DATA__ from HTML */ private extractNextData; /** * Extract JSON-LD structured data */ private extractJsonLd; /** * Parse product from Next.js data */ private parseNextDataProduct; /** * Parse product from JSON-LD */ private parseJsonLdProduct; /** * Extract product from HTML as fallback */ private extractProductFromHtml; /** * Parse Walmart availability status */ private parseAvailability; /** * Parse schema.org availability */ private parseSchemaAvailability; /** * Decode HTML entities */ private decodeHtmlEntities; /** * Extract search results */ private extractSearchResults; /** * Extract category page */ private extractCategoryPage; /** * Build result for single product */ private buildProductResult; /** * Build result for search/category */ private buildSearchResult; /** * Convert markdown to plain text */ private markdownToText; } export declare const walmartHandler: WalmartHandler; //# sourceMappingURL=walmart-handler.d.ts.map