import { DtoAdditionalProductRef, DtoCatalogueParams, DtoCatalogueParamsWithLang, DtoMeasureParam, DtoModel, DtoOrientation, DtoPartsData, DtoPrices, DtoProductData, DtoProductParams, DtoProductParamsWithLang, DtoProductResponse, DtoSelectedOption, DtoTransform, DtoValidateResponse, DtoVector } from "./CatalogueAPI.js"; /** * Makes a string from the params which can be used as a key in for example React. Language is not respected. */ export declare const makeCatalogueKey: (cat: DtoCatalogueParams) => string; /** * Makes a string from the params which can be used as a key in for example React. Language is not respected. */ export declare const makeProductKey: (prod: DtoProductParams) => string; /** * Makes a string from selected options, can be used as a key for a selection. */ export declare const makeSelOptionsKey: (options: DtoSelectedOption[]) => string; export declare type RootNodeSource = DtoModel | File; export declare type CfgProductData = Omit, "partsData"> & { models?: RootNodeSource[]; partsData: Omit & { selOptions: DtoSelectedOption[]; }; }; /** * Deep compare. Uses the JSON.stringify method for comparison * @returns true if equal. Key and array order is respected. */ export declare function compareCfgProductData(pd1: CfgProductData, pd2: CfgProductData): boolean; export declare type CfgProductResponse = Omit & { productData: CfgProductData; }; /** This must be kept in sync with DtoValidateResponse. */ export declare type CfgValidateResponse = Omit & { productData: CfgProductData; }; export declare function isModel(arg: unknown): arg is DtoModel; /** Replace empty strings with "-" for compatibility with the API. */ export declare function correctDefaultsOnCatalogueParams(catId: T): T; export declare function recursivelyGetPriceCodeValue(priceCodes: string[], prices: DtoPrices | undefined): number | undefined; export declare function comparePricesObjects(prices1: DtoPrices | undefined, prices2: DtoPrices | undefined): boolean; export declare const decodeCatalogueParams: (params: T) => T; export declare const decodeProductParams: (params: T) => T; export declare function isSameCatalogueParams(left: DtoCatalogueParams, right: DtoCatalogueParams): boolean; export declare function isSameVector(left: DtoVector, right: DtoVector): boolean; export declare function isSameOrientation(left: DtoOrientation, right: DtoOrientation): boolean; export declare function isSameAnchor(left: DtoMeasureParam, right: DtoMeasureParam): boolean; export declare function isSameTransform(left: DtoTransform, right: DtoTransform): boolean; export declare function isSameProductRef(left: DtoAdditionalProductRef, right: DtoAdditionalProductRef): boolean; export declare const isSameDtoCatalogueParamsWithLang: (left: DtoCatalogueParamsWithLang, right: DtoCatalogueParamsWithLang) => boolean; export declare const isSameDtoProductParamsWithLang: (left: DtoProductParamsWithLang, right: DtoProductParamsWithLang) => boolean; //# sourceMappingURL=utilitiesCatalogueData.d.ts.map