import type { ScrapperOutput } from '../types/scrapperOutput'; export interface IkeaProduct { catalogRefs?: CatalogRefs; currencyCode?: string; experimental?: Experimental; globalId?: string; id?: string; mainImage?: Image; name?: string; pipUrl?: string; price?: string; priceExclTax?: string; priceExclTaxNumeral?: number; priceNumeral?: number; revampPrice?: RevampPrice; styleGroup?: string; typeName?: string; validDesignText?: string; } export interface CatalogRefs { products: Products; themes: Products; } export interface Products { elements?: Products[]; id: string; name: string; url: string; } export interface Experimental { contextualImage: Image; isBreathTakingItem: boolean; isFamilyPrice: boolean; isNewLowerPrice: boolean; isNewProduct: boolean; isTimeRestricted: boolean; priceUnit: string; rating: Rating; technicalCompliance: TechnicalCompliance; } export interface Image { alt: string; id: string; imageFileName: string; type: string; url: string; } export interface Rating { count: number; enabled: boolean; maxValue: number; percentage: number; value: number; } export interface TechnicalCompliance { valid: boolean; } export interface RevampPrice { currencyPrefix: string; currencySuffix: string; currencySuffixZeroDecimals: boolean; currencySymbol: string; decimals: string; hasTrailingCurrency: boolean; integer: string; numDecimals: number; separator: string; } export interface IkeaModel { models: Model[]; itemType: string; categorization: Categorization; variations: Variation[]; } export interface Categorization { hfbName: string; hfbId: string; rangeName: string; rangeId: string; areaName: string; areaId: string; } export interface Model { markets: string[]; url: string; geoEnabled: boolean; } export interface Variation { localId: string; itemType: string; models: Model[]; } export declare class Ikea { static readonly BASE_URL = "https://www.ikea.com"; readonly url: string; readonly sku: string; constructor(url: string); getProductDetails(): Promise; getGLBs(): Promise; extract(html?: string): Promise; }