export interface BaseStructure { title: string; price: string; id?: string; url?: string; variants?: string; _variantStructure?: { _transform?: (variantMeta: any, allMeta: any) => any; }; _transform?: (allMeta: any) => any; } export interface ProductMeta { (variant?: number): any; variants?: any[]; transformedMeta?: any; } export declare type ProductStructure = BaseStructure & any; export declare class ProductTransformer { structure: ProductStructure; variantStructure: any; hasVariants: boolean; idField: string; productTransform: (allMeta: any) => any; variantTransform: (variantMeta: any, allMeta: any) => any; variants: any[]; constructor(structure: ProductStructure); transform(allMeta: any): any[]; unpackVariants(allMeta: any): any[]; remapVariant(remappedMeta: any, variantStruct: any): (variant: any) => any; extractIdField(): any; static getTransform(structure: ProductStructure): any; }