import { Item } from "..";
import { DesignPriceCalculatorRuleBased } from "../../../../libs/pricingRuleBase/DesignPriceCalculatorRuleBased";
export declare class PlatformAttributeSelection {
    attributeCode: string;
    optionCode: string;
    attributeLabel: string;
    optionLabel: string;
    attributeIsEnabled: boolean;
    optionIsEnabled: boolean;
    constructor(attributeCode: string, optionCode: string, attributeLabel: string, optionLabel: string, attributeIsEnabled: boolean, optionIsEnabled: boolean);
}
export interface Integration {
    addToCart(composition: any, design: any, model: any, attributes: PlatformAttributeSelection[], designItems: Item[], quantity: number, additionalProperties: Record<string, any>, shopifyNFTPrice: number): void;
    getPrice(composition: any, design: any, model: any, attributes: PlatformAttributeSelection[], compositionPrice: number, isCustomPricingConfiguratorEnabled: boolean, isCustomPricingRuleBasedEnabled: boolean, quantity: number, shopifyNFTPrice: number): Promise<number | {
        price: number;
        isOutOfStock: boolean;
    }>;
    getSharedCompositionUrl(compositionDocID: string): Promise<{
        url: string;
    }>;
    setPricingCalculator(pricingCalculator: DesignPriceCalculatorRuleBased): void;
    close(): void;
    setPricingCalculator(pricingCalculator: DesignPriceCalculatorRuleBased): void;
}
