import DivaArticle from '../Article/DivaArticle';
import DivaApiHandler from '../DivaApiHandler';
import DivaSet from '../Set/DivaSet';
import IDivaWWSHandler from '../../interface/Basket/IDivaWWSHandler';
interface MatchedProduct {
    addedPrice: number;
    discountedPrice: number;
    percentageDiscount?: number;
    calculatedPrice?: number;
    retailerArticleNr: number;
    _id: string;
}
export interface Product {
    discountPrice: number;
    onlyViewDiscountedPrice: number;
    origPrice: number;
    percentage: number;
    bruttoPercentage?: number;
    retailerArticleNr?: number;
    setHash?: string;
    _id: string;
}
declare class DivaProductHandler {
    constructor();
    updateProducts(sets: DivaSet[], api: DivaApiHandler, wwsHandler: IDivaWWSHandler, from: string): Promise<void>;
    handleFountMatchingProducts(set: DivaSet, products: MatchedProduct[], setHash?: string, matchPrefix?: string): void;
    private setCustonProductNrFieldsOnArticles;
    private cheapestOfMatchingProducts;
    /**
     * Schlaraffia specific code
     */
    getBestMatch(articles?: {
        [basketId: string]: DivaArticle;
    }, products?: any[]): any;
    findOPVCodexInVariantValues(product: any, opt: string, opv: string): any;
}
declare const productHandlerInstance: DivaProductHandler;
export default productHandlerInstance;
//# sourceMappingURL=DivaProductHandler.d.ts.map